Grails: сопоставление одного и того же URL-адреса с различными действиями для разных методов HTTP - PullRequest
0 голосов
/ 03 сентября 2018

Я использую Grails v3.2.9

В официальной документации я нашел следующее для сопоставления с методами http :

static mappings = {
   "/product/$id"(controller:"product", action: "update", method: "PUT")
}

Но этого недостаточно. Мне нужно иметь одно сопоставление, которое сопоставляет различные действия (в одном контроллере) на основе метода HTTP.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

В качестве альтернативы, если вы следуете соглашению по именованию методов для контроллеров REST ... вы можете обойтись без:

"/product/$id" (resources:'product')

Вот хорошая информация: http://mrhaki.blogspot.com/2013/11/grails-goodness-customize-resource.html

0 голосов
/ 03 сентября 2018

Добавить URLMappings вроде -

"/product/api/v2/book" (controller: 'book') {
    action = [GET: 'show', POST: 'update']
}

Также полезно добавить ограничение метода в контроллер -

  static allowedMethods = [show: 'GET', update: 'POST']
...