java - 无法向springboot发送http post请求

标签 java angular spring-boot http

当我从我的 Angular 应用程序向 Spring Boot Rest API 发送 HTTP POST 请求时,请求失败并出现以下错误

Browser Error

    HTTP Status 415 – Unsupported Media Type
    Type Status Report

    Description: The origin server is refusing to service the request because the payload is in a format 
    not supported by this method on the target resource

Spring boot console error

java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.LinkedHashMap
        at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:187) ~[spring-webmvc-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:203) ~[spring-webmvc-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:81) ~[spring-web-4.3.8.RELEASE.jar:4.3.8.RELEASE]
        .......

到目前为止我已经尝试过

this提到的解决方案,我已将必要的 header 添加到来自 Angular 端的请求

this.http.post(ipUrl, args, { headers: new HttpHeaders({'Content-Type': 'application/json', 'Accept': 'application/json', 'Access-Control-Allow-Headers': 'Content-Type'})});

this答案,我已将 getters/setters 添加到模型对象

我想知道我哪里出了问题以及如何解决这个问题?

更新

Springboot Rest Controller方法

@PostMapping("/login")
  public @ResponseBody ResponseWrapper<WebUser> login(@RequestBody LoginData loginData){
    try {
      return loginService.loginProcess(loginData);
    }
    catch (Exception ex){
      ProgrammerAlert.printStackTrace(ex);
      return new ResponseWrapper<>(ResponseWrapper.ERROR, ex.getMessage());
    }
  }

最佳答案

你可以这样写你的 Controller 吗?并查看它是否有响应。

 @ResponseBody
 @RequestMapping(value = "/login",
        method = RequestMethod.POST)
 public  ResponseWrapper<WebUser> login(...){
     .
     .
     .
  }

您是否有不想使用 RequestMapping 的原因?

关于java - 无法向springboot发送http post请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59872137/

相关文章:

java - 如何使用@Transactional读取spring方法中保存的实例

java - JavaFX [1.3] 与否?

java - 如何确保列表中的项目是连续的?

javascript - Meteor发布错误检测

javascript - 在 Angular 2 组件定义中使用 ngOnInit 和构造函数之间的实际区别是什么?

java - Spring Boot Pojo 的 Pojo 验证不起作用

java - Springboot 中有没有一种方法可以在不使用属性文件的情况下使用动态数据进行国际化

java - 如何将 Kafka 数据源中的值转换为给定的模式?

html - 将鼠标悬停在侧边导航中的 mat-item 上时,工具提示不起作用

java - 具有默认安全性的 Spring Security 为 PUT 提供 401,为 GET 提供 200