Il y a selon moi une meilleur alternative à ton problème : REST. Je ne vais pas faire un cours la dessus ici mais en bref, afin de déterminer l'action à réaliser, tu ne te base uniquement sur les verbes HTTP (GET, POST, PUT/PATCH, DELETE) que tu passe dans les headers de la requête.
De cette manière, l'accès à tes différentes resource se fera de manière homogène :
Pour ma part, j'aime aussi mettre le nom des resources au pluriel (pour la consistence) mais après c'est un choix qui ne reviens qu'a toi. Au niveau de Symfony je n'ai malheureusement pas énormement d'expérience mais tout les frameworks moderne te permettrons d'arriver à cela, en envoyant généralement une clé de type _method contenant le verbe HTTP associé à la requête.