为了账号安全,请及时绑定邮箱和手机立即绑定

转发后已为此响应调用了 Spring Boot 错误 getOutputStream(

转发后已为此响应调用了 Spring Boot 错误 getOutputStream(

冉冉说 2021-07-22 10:40:26
我目前正在开发一个 Spring Boot 应用程序。我为 httpBasic 身份验证实现了 Spring Boot 安全性。身份验证成功后,我的自定义过滤器方法会被调用。protected void onSuccessfulAuthentication(javax.servlet.http.HttpServletRequest request,        javax.servlet.http.HttpServletResponse response, Authentication authResult) throws IOException {Iterator<? extends GrantedAuthority> it = authResult.getAuthorities().iterator();        switch (it.next().getAuthority()) {        case (MyConstants.ROLE_USER): {            try {                request.getRequestDispatcher("/user/data").forward(request, response);  break;        } catch (ServletException e1) {            // TODO Auto-generated catch block            e1.printStackTrace();        }所以我想将我需要的带有 JSON 数据的 rquest 对象转发到我的 RestController 端点。这有效。在我的控制器中,我想返回带有数据和 Http 状态代码的 ResponseEntity。@RequestMapping(value="/upload", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)public ResponseEntity< HttpStatus> upload(@RequestBody String uploadData){    ResponseEntity<String> httpStatus = sendExchangeToRestApi(MediaType.APPLICATION_JSON, uploadData,            "http://localhost:8080/upload", HttpMethod.PUT);    return new ResponseEntity<String>("Test". HttpStatus.OK);}我用邮递员测试了这个。输出没问题,所以我在我的身体输出中得到状态 200 和测试。
查看完整描述

1 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

你应该知道的一件事是,每个微服务都应该有自己的数据库,如果你所有的微服务共享同一个数据库,那么数据库将成为你的中心合约,并且总是很难做出改变,因为你永远不知道哪个微服务使用什么。

谈到RabbitMQ,我个人认为它是有史以来最好的Message-Broker。我建议您拥有一个队列/微服务和一个 Exchange/微服务。您可以轻松配置 RabbitMQ 以根据路由键在队列之间重定向消息。

希望这有助于最好的敬意


查看完整回答
反对 回复 2021-07-22
  • 1 回答
  • 0 关注
  • 254 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信