嗨,我已经使用SpringBoot设置了一个GraphQL服务器。如果使用GrapiQL、Postman或web浏览器,我可以毫无问题地发送查询。问题是我有一个Android应用程序,它使用ApolloClient向同一个GraphQL服务器发出请求,每当它发送请求时,我都会得到一个422错误。
我现在知道问题出在ApolloClient发送的内容类型头上。它将内容类型设置为“application/json;charset=UTF-8”,而所有其他方法都将其设置为“application/json”。
所以在网上环顾四周,我只看到两个选择。一个是修改ApolloClient发出的请求,使其不包含“charset=utf-8”,另一个是重新配置我的服务器,使其能够按原样接受该请求。
更改请求似乎是一个相对痛苦的过程,添加字符集似乎是相当常见的,所以我希望服务器接受带有字符集的请求。我的问题是我对Springboot还很陌生,我不知道该怎么做。
老实说,我也尝试修改请求以删除charset部分,但不知何故,它仍然在最后的请求中结束。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.graphql-java.tutorial</groupId>
<artifactId>book-details</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>book-details</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
<dependency>
<groupId>com.graphql-java</groupId>
<artifactId>graphql-java</artifactId>
<version>11.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.graphql-java/graphql-java-spring-boot-starter-webmvc -->
<dependency>
<groupId>com.graphql-java</groupId>
<artifactId>graphql-java-spring-boot-starter-webmvc</artifactId>
<version>2019-06-24T11-47-27-31ab4f9</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
尝试删除charser=utf-8,您应该能够删除422错误。
嗨,有人能帮我处理这个错误吗?当我使用邮递员发送邮件请求时,这里是我的控制器 这就是我使用postman发送json的方式 我正在尝试搜索如何修复它,但错误仍然存在 编辑:这是邮递员的标题 提前致谢
我创建了WCF服务,该服务将由需要接受内容类型application/xml;charset=UTF-8和SOAP1.1信封命名空间的第三方使用。该服务当前正在接受text/xml;charset=utf-8。不允许客户端更改内容类型。 我没有对web.config文件做任何更改,除了设置basicHttpBinding MaxReceivedMessageSize。
问题内容: 使用firebug时,我在asp.net mvc 4项目中收到此有线错误“ NetworkError:415无法处理… xt / xml; charset = utf-8’– ”。 代码: 服务代码: 该接口是: 和网络配置,我在WCF中使用了无文件: 问题答案: 您需要使用,而不是代码中的常规。这将为端点配置适当的绑定()和行为()以遵守该属性。
当我在localhost:8080/api/users上做一个POST请求来创建一个新用户时,我会得到以下错误: 是请求的主体,选择JSON(应用程序/JSON)。即使我删除角色并将其保持为空,它也会给出相同的错误。 标题的内容类型也是application/json。 这是我的控制器: UserService中的createUser函数: 这是我的用户类:
问题内容: 似乎JSON默认编码为UTF-8,Spring MVC 默认返回 ,很难更改。 问题答案: 根据RFC 4627 JSON文本应以Unicode编码。默认编码为UTF-8。 它继续描述了如何检测不同的UTF- *编码,这表明不支持其他编码。 “ SHALL”表示此处的绝对要求(请参阅RFC 2119)。 而且真的是没有理由使用与JSON非UTF编码(如任何可以处理JSON可以 肯定 处
我的角码 你有什么想法吗?
我试图使用独立的应用程序使用WCF web服务。我可以使用Internet Explorer查看此服务,也可以在Visual studio服务引用中查看。 这就是我得到的错误 如何更改它以使用正确的内容类型? 这是我的配置文件 这是堆栈
@PostMapping public UserResponse createUser(@RequestBody UserRequest userDetail){ 这是我收到的错误代码 } 我尝试了很多不同的方法仍然没有得到解决方案这是来自邮递员的图片来自邮递员的图片