我使用Jetty Web服务器,使用Jersey进行REST处理。
我定义了:
@POST
@Path("/sendMessage")
@Consumes ({MediaType.APPLICATION_XML, MediaType.TEXT_XML})
public Response sendMessage(@Context final UriInfo uriInfo)
{
logger.debug("sendMessage:");
System.out.println("Received POST!");
return Response.status(Response.Status.OK).build();
}
但是,当我发送http请求http://localhost:8080/hqsim/sendMessage
时,服务器返回415代码。
这就像是不允许通话。我该如何解决这个错误?
答案 0 :(得分:23)
415表示不支持媒体类型。
最可能的情况是您要么丢失请求中的Content-Type
标头,要么是不正确的。在您的情况下,它必须是application/xml
或text/xml
。
答案 1 :(得分:0)
如果你正在使用 axios,并且正在制作;
a) 一个 post 请求,你应该定义如下请求
await axios.post("the url you're speaking to",
{the data to post},
{
headers: {"Content-Type": "application/json"}
})
b) 一个获取请求;
await axios.get("the url you're speaking to",
{
data: {},
headers: {"Content-Type": "application/json"},
params: {'varX': '34'}
})
其中 varX 是您与请求一起发送的变量的名称 如果您不发送查询字符串,params 也可以为空。
因此该网址将显示为;
https://myurl.com/?varX=34