Несколько методов на одну URL

506
30 декабря 2016, 10:51

Нужно написать API, и у клиента есть примеры запросов, которые должны быть.

https://host.co.uk/localworld.aspx?req=nsr&em=some@email.com&sn=Name+Lname&uid=AE5C54C1-DA8B-4B81-A184-7FB7ED014FBB&pc=SG51PB&tc=LLM&st=ACTIVE&sd=20160722&ed=20161020&vr=78

https://host.co.uk/localworld.aspx?req=evr&em=some@email.com

и так дальше для остальных методов. Отличаются они только тем, что в req заходят разные параметры по дефолту. Но когда я пытаюсь написать контроллер, то мне выдает амбишиос ошибку, потому, что на ссылку /localworld.apsx уже имеется метод POST, а они все должны быть методами POST. Пример кода:

@Controller
@RequestMapping(value = "/localworld.aspx")
public class HHSController {
    @Autowired
    private HHSApiService apiService;
    @RequestMapping(method = RequestMethod.POST,
                    headers = "Accept=application/json",
                    consumes = MediaType.APPLICATION_JSON_VALUE)
    @ResponseBody
    public EmailAddressDto emailValidation(@RequestBody @Valid EmailValidationDto dto) {
        return apiService.isValid(dto);
    }
    @RequestMapping(method = RequestMethod.POST,
                    consumes = MediaType.APPLICATION_JSON_VALUE,
                    headers = "Accept=application/json")
    @ResponseBody
    public HHSSubscriptionResponse subscribe(@RequestHeader(value = "x-ppauth-access") String accessKey,
                                             @RequestBody @Valid HHSSubscribe subscribe) {
        verifyForEmptyAccessKey(accessKey);
    return null;
}

}

Как можно решить эту проблему?

Answer 1

можно использовать вот такой вариант

@RequestMapping("/localworld.aspx", params = "req=evr")
READ ALSO
Связь ядра приложения Android с интерфейсом

Связь ядра приложения Android с интерфейсом

Только начал работать с Android и сразу наткнулся на проблему: как управлять элементами UI из других классов?

360
Микроконтроллеры и Java

Микроконтроллеры и Java

Интересует такой вопросДопустим, у меня есть какая-то кнопка, которая лежит на столе

1296