java - 如何正确组合@PathParams 和@RequestBody?
问题描述
在我的 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 中的路径参数?
任何建议如何正确解决这个问题?
如果我在错误的地方发帖或者我需要指定更多详细信息,请纠正我。
在此先感谢,汤姆
解决方案
这里的问题是您使用 GET 方法。如果您希望 Spring 使用 requestBody,您需要使用 POST 方法。使用 GET 方法会忽略正文。
看 :
推荐阅读
- python - 将 JSON 发布到烧瓶模板
- visual-studio-code - Transform and regex in Code Snippets in VSCode - Docs
- java - How to send multiple asynchronous requests with url caching?
- css - how to adjust a video according to a specific size?
- android - Layout not correct
- python - 如何使用 Flask-Babel 在 flask_wtf 中本地化 QuerySelectField 返回的数据
- php - Php - didn't update row in mysql by using PDO
- java - Error while using ExampleMatcher with @embeded entity in spring data jpa
- python - Limit the decimal places in a float
- python - Divio Cloud local Docker database connection