2013-03-28 2 views
0

Le code généré dans les contrôleurs pour les classes de domaine a permis la méthode POST uniquement pour 'save', 'update' et 'delete'. Est-ce seulement à cause de cela que la méthode GET montrerait les params dans l'URL ou est-ce pour d'autres considérations? Comme la sémantique de GET est pour obtenir alors que le POST est pour créer ou mettre à jour? J'utilise Grails 2.1.1.Pourquoi les méthodes allowedMethod sont-elles générées dans les contrôleurs définis comme POST uniquement dans Grails?

Répondre

2

La contrepartie que vous mentionnez est correcte, lorsque vous publiez des données, vous ne souhaitez pas que ces données soient stockées dans votre URL. Cela pourrait être mis en cache, etc. Une autre considération est que de plus en plus de frameworks suivent le principe REST dans lequel est décrit ce que ferait chaque méthode HTTP.

Il y a un peu plus d'informations ici: Which HTTP methods match up to which CRUD methods?

+0

Merci, il semble que Grails ne suit pas le reste de manière complètement à choisir la méthode HTTP pour chaque action. –

+0

Vous pouvez plier Grails comme vous le souhaitez, si vous regardez comment construire une interface REST avec Grails, il suit la façon REST complètement. Les méthodes du contrôleur sont également protégées par les verbes HTTP. – Marco

Questions connexes