соглашения о сопоставлении запросов Spring mvc - PullRequest
5 голосов
/ 12 января 2011

Я пытаюсь прийти с хорошим соглашением для сопоставления запросов в моем приложении

сейчас у меня есть

RegistrationController {
   @RequestMapping(value="/registerMerchant")
   ...
   @RequestMapping(value="/registerUser")
   ...
}

но это не идеально, так как, глядя на URL, вы, возможно, не знаете, искать в RegistrationController код.

Есть ли способ, которым я могу программно добавить имя контроллера из тех отображений, которые делают их:

/registration/registerMerchant
/registration/registerUser

Ответы [ 2 ]

8 голосов
/ 12 января 2011

Не программно, но вот такой шаблон работы я видел:

@Controller
@RequestMapping(value="/registration/**")
RegistrationController {
   @RequestMapping(value="**/registerMerchant")
   ...
   @RequestMapping(value="**/registerUser")
   ...
}

Сказав это, в прошлом я находил, что это невероятно трудно заставить работать так, как я ожидал. Однако можно заставить работать.

5 голосов
/ 11 мая 2012

Я думаю ** / на уровне метода слишком много шума. С другой стороны, URI можно сделать более похожим на REST, добавив больше существительных и меньше глаголов.

@Controller
@RequestMapping("/services")
public class RegistrationController {

    @RequestMapping(value = "/merchant/register")
    public void processMerchantRegistration() {

    }

    @RequestMapping(value = "/user/register")
    public void processUserRegistration() {

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...