Using 'application/json', given [*/*] and supported [application/json, application/*+json, application/json, application/*+json]
时间: 2023-10-26 12:27:56 浏览: 622
当使用'application/json'作为请求头时,它告诉服务端消息主体是序列化后的JSON字符串。这种Content-Type的使用越来越流行,现在不仅作为响应头,而且作为请求头使用。由于JSON规范的流行,大部分浏览器都原生支持JSON.stringify,服务端语言也都有处理JSON的函数,因此使用JSON作为请求头不会遇到太多问题。
JSON格式支持比键值对复杂得多的结构化数据,这一点也很有用。可以把数据序列化为JSON字符串后提交,即使数据层次非常深也不会有问题。在一些旧的项目中,数据会以x-www-form-urlencoded方式提交,但仍然把JSON字符串作为val放在键值对里提交。
示例中的请求是以POST方式发送的,请求头中的Content-Type被设置为'application/json;charset=utf-8',请求的消息主体是一个JSON字符串。
在Google的AngularJS中,默认的Ajax功能就是提交JSON字符串。示例代码中,通过`$http.post`方法提交了一个包含title和sub属性的JSON对象。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
相关问题
Using 'application/json', given [*/*] and supported [application/json, application/*+json]
这个错误通常出现在发送 API 请求时,请求头中的 Accept 字段不能被服务器所支持。请求头中的 Accept 字段告诉服务器请求方能够处理哪些 MIME 类型的响应。服务器会检查请求头中 Accept 字段的值,以确定向客户端发送哪种类型的响应。如果服务器不支持请求头中的 Accept 字段,它会返回该错误。
解决方法是检查请求头中的 Accept 字段,确保它的值与服务器支持的 MIME 类型一致。如果服务器支持多种 MIME 类型,可以使用通配符 * 来表示,例如:Accept: application/*+json。如果仍然无法解决问题,可以检查服务器端代码,查看是否正确地配置了 MIME 类型。
Content type 'application/json' not supported
当使用Spring MVC处理HTTP请求时,如果请求参数无法正常解析,就会报错Content type 'application/json;charset=UTF-8' not supported。这通常是因为请求的Content-Type头部不正确或者请求体中的JSON格式不正确导致的。解决方法如下:
1.确保请求的Content-Type头部正确设置为application/json。
2.确保请求体中的JSON格式正确,可以使用JSONLint等工具进行验证。
3.如果使用的是Spring Boot,可以在application.properties或application.yml中添加以下配置:
```yaml
spring.http.encoding.force-request=true
spring.http.encoding.force-response=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
```
4.如果以上方法都无法解决问题,可以尝试升级Spring版本或者使用其他的JSON解析库。
阅读全文