Как правильно объединить @PathParams и @RequestBody? - PullRequest
0 голосов
/ 18 декабря 2018

В моем Spring MVC Controller я пытаюсь сопоставить входящие параметры с объектом.Мой контроллер в настоящее время выглядит так:

@RestController("fundsConfirmationController")
@RequestMapping("/accounts/{accountId}/funds-confirmations")
public class FundsConfirmationController {

@GetMapping(
        consumes = MediaType.APPLICATION_JSON_VALUE,
        produces = MediaType.APPLICATION_JSON_VALUE
)
public ResponseEntity<?> fundsConfirmation(@PathVariable("accountId") String accountId,
                                           @RequestBody FundsConfirmationRequestDTO fundsConfirmationRequestDTO) {

    System.out.println(accountId + " " + fundsConfirmationRequestDTO);

    return null;
}

Как таковой, я не нашел способа правильно объединить @PathVariable и @RequestBody, кроме установки accountId отдельно в методе?(Я не могу изменить входящие параметры, так как это предопределенное требование.)

Существует ли правильный способ объединения @PathParams и @ResponseBody в одном объекте?Без того, чтобы отобразить Path Path Param в DTO отдельно?

Любое предложение, как правильно решить эту проблему?

Если я пишу не в том месте или мне нужно указать более подробную информацию, пожалуйста, исправьте меня.

Заранее спасибо, Том

1 Ответ

0 голосов
/ 18 декабря 2018

Проблема в том, что вы используете метод GET.Если вы хотите, чтобы requestBody использовался Spring, вы должны использовать метод POST.При использовании метода GET тело просто игнорируется.

См .:

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