java - 如何在 Spring Boot 中使用 postman 或 feign 客户端为 @RequestAttribute 设置值
问题描述
我有这样的方法:
@PostMapping(path = "/workflow-services/{service_id}/tickets",
consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<TicketIdResponse> createTicket(@PathVariable("service_id") String serviceId,
@RequestBody @Validated CreateTicketRequest request, @RequestAttribute Payload payload) {
log.info("Start create ticket [{}]", request);
TicketIdResponse response = ticketService.createTicket(serviceId, request, payload);
log.info("Create ticket response: {}", response);
return ResponseFactory.success(response);
}
那么如何在邮递员或假装客户端中将值设置为@RequestAttribute Payload
非常感谢!
解决方案
@RequestAttribute 注释通常用于检索在服务器端但在同一个 HTTP 请求期间填充的数据。例如,如果您使用了拦截器、过滤器或可能的方面来填充“有效负载”属性,那么您应该能够使用 @RequestAttribute 注释来访问它。
如果您希望从外部客户端传递某些东西(即通过邮递员、curl 或任何其他简单客户端)-@RequestAttribute 不是前进的方向。
良好的参考; https://www.baeldung.com/whats-new-in-spring-4-3 https://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/request-attribute.html
这篇SO帖子也可能有所帮助。