在Spring MVC控制器中,我试图将传入的参数映射到对象。我的控制器当前如下所示:
@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
组合在一起的正确方法?是否无需分别在DTO中映射路径参数?
任何建议如何正确解决此问题?
如果我在错误的位置发帖,或者需要指定更多详细信息,请更正我。
谢谢,汤姆
答案 0 :(得分:1)
这里的问题是您使用GET方法。如果要让Spring使用requestBody,则要使用POST方法。使用GET方法,将忽略主体。
请参阅: