HttpMediaTypeNotSupportedException前端请求类型与后端接收类型不匹配问题

报错:

Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported]

原因:根据错误信息可以看出,后端接口不支持Content-Type为application/x-www-form-urlencoded;charset=UTF-8的请求头。

解决方法:修改axios.post()方法的请求头为application/json,即将以下代码:

axios.post("/product/update", updateProduct).then((res) => {
  this.$message({
    message: res.data.message,
    type: 'success'
  });
})

修改为:

axios.post("/product/update", updateProduct, {
  headers: {
    'Content-Type': 'application/json'
  }
}).then((res) => {
  this.$message({
    message: res.data.message,
    type: 'success'
  });
})

也就是在axios.post方法的参数中多加一个请求头属性,这样发送的请求头就是application/json,后端接口应该可以正确解析请求体了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误提示表明你的后端程序没有设置支持接收XML格式的请求。为了解决这个问题,你需要在后端程序中添加支持XML格式请求的配置。 具体的配置方式根据你使用的框架不同而有所不同。这里提供两个常见框架的配置方式,你可以根据自己的情况选择合适的方式进行配置。 1. Spring MVC 在 Spring MVC 中,你可以通过在 `@RequestMapping` 注解中指定 `consumes` 属性来设置支持的请求格式。例如: ```java @RequestMapping(value = "/your/api", method = RequestMethod.POST, consumes = "application/xml") public void handleXmlRequest(@RequestBody YourXmlObject xmlObject) { // 处理 XML 请求 } ``` 上面的代码中,`consumes` 属性指定了该接口支持的请求格式为 `application/xml`,当接收到该格式的请求时,Spring 会自动将请求体转换成 `YourXmlObject` 类型的对象并传入 `handleXmlRequest` 方法中进行处理。 2. Spring Boot 在 Spring Boot 中,你可以通过添加 `HttpMessageConverters` bean 来配置支持的请求格式。例如: ```java @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { converters.add(new MappingJackson2XmlHttpMessageConverter()); } } ``` 上面的代码中,我们在 `configureMessageConverters` 方法中添加了一个 `MappingJackson2XmlHttpMessageConverter` 类型的 bean,该类可以将 XML 格式的请求体转换成对象并传入相应的接口中进行处理。 总之,无论使用哪种框架,你都需要在后端程序中进行相应的配置来支持接收 XML 格式的请求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值