Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'text/plain;charset=UTF-8' not supported]
时间: 2023-10-23 07:15:56 浏览: 186
spring源码解决
这个异常通常是因为请求的 Content-Type 不被支持所导致的。您需要检查请求的 Content-Type 是否正确,并且是否被您的应用程序支持。
例如,如果您的应用程序只支持 JSON 类型的请求,那么您需要确保请求的 Content-Type 是正确的,并且是 "application/json"。
如果您使用 Spring 框架,那么您可以通过在控制器方法中添加 @RequestMapping 注解来指定支持的 Content-Type,例如:
```java
@RequestMapping(value = "/example", method = RequestMethod.POST, consumes = "application/json")
public ResponseEntity<?> exampleMethod(@RequestBody ExampleRequest request) {
// your code here
}
```
在上面的示例中,我们在 @RequestMapping 注解中指定了 consumes 属性,该属性指定了应该支持的 Content-Type。
另外,您可以使用 Spring 的 ContentNegotiatingViewResolver 来自动处理请求的 Content-Type。例如,您可以在 Spring 的配置文件中添加以下代码:
```xml
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="defaultContentType" value="application/json"/>
<property name="mediaTypes">
<util:map>
<entry key="json" value="application/json"/>
<entry key="xml" value="application/xml"/>
</util:map>
</property>
</bean>
```
在上面的示例中,我们指定了默认的 Content-Type 为 "application/json",并且将 "json" 和 "xml" 的 Content-Type 映射到它们对应的值。这样,当请求的 Content-Type 是 "json" 或 "xml" 时,Spring 将自动处理请求。
阅读全文