首页 > 解决方案 > 如何在 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

非常感谢!

标签: javaspringspring-bootpostman

解决方案


@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帖子也可能有所帮助。


推荐阅读