Java RESTWeb服务(post)使用json不工作
因此,我试图创建一个使用json的简单webservice帖子。但是我得到的错误是:无法执行:javax.ws.rs.NotSupportedException:RESTEASY003065:无法使用内容类型 我的网络服务:Java RESTWeb服务(post)使用json不工作,java,json,web-services,Java,Json,Web Services,因此,我试图创建一个使用json的简单webservice帖子。但是我得到的错误是:无法执行:javax.ws.rs.NotSupportedException:RESTEASY003065:无法使用内容类型 我的网络服务: @POST @Produces(MediaType.APPLICATION_XML) @Path("teste1") @Consumes(MediaType.APPLICATION_JSON) public Response teste1(String product) {
@POST
@Produces(MediaType.APPLICATION_XML)
@Path("teste1")
@Consumes(MediaType.APPLICATION_JSON)
public Response teste1(String product) {
String result = "Product created : " + product;
System.out.println("resultado");
System.out.println(result);
return Response.ok() //200
.entity("<erro> none </erro>")
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT")
.header("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With").build();
}
但我也犯了同样的错误如果我这样做,我可以让它工作:
@Consumes("*/*")
但当我说它使用json时,我不明白为什么它不工作。来测试我正在使用的Web服务。使用以下Post数据:
{
"key" : "value",
"array" : [
{ "key" : 1 },
{ "key" : 2, "dictionary": {
"a": "Apple",
"b": "Butterfly",
"c": "Cat",
"d": "Dog"
} },
{ "key" : 3 }
]
}
总的来说
@Consumes("application/json")
指定webservice可以处理的内容媒体类型
但您可能还需要在内容类型
标题中为您的请求明确指定适当的类型
我不熟悉,但默认情况下,它可能不会发送内容类型标题
例如,在这种情况下,服务器可以将请求正文视为纯文本。该请求不会路由到您的端点,因为它不是为纯文本设计的
设置@消耗(*/*)
可以修复该问题,因为错误的媒体类型也与该模式匹配
请确保您将内容类型:application/json
与POST请求一起发送好吗?通常
@Consumes("application/json")
指定webservice可以处理的内容媒体类型
但您可能还需要在内容类型
标题中为您的请求明确指定适当的类型
我不熟悉,但默认情况下,它可能不会发送内容类型标题
例如,在这种情况下,服务器可以将请求正文视为纯文本。该请求不会路由到您的端点,因为它不是为纯文本设计的
设置@消耗(*/*)
可以修复该问题,因为错误的媒体类型也与该模式匹配
请确保在POST请求中发送内容类型:application/json