gpt4 book ai didi

tomcat - 如何在 Resteasy 服务中指定响应的自定义 HTTP 错误

转载 作者:行者123 更新时间:2023-11-28 22:21:57 24 4
gpt4 key购买 nike

在我的 resteasy 服务中,我想根据客户的请求返回媒体文件,如下所示:

从服务器端(tomcat 6):

@GET
@Path("/getXML/{skinId}/{key}")
@Produces("text/xml")
public Response getXMLResource(@PathParam("key") String key, @PathParam("skinId") String skinId) {
// Reading a file from disk...
return Response.ok(file, type).build();
}

从客户端:

final URL uri = new URL("http://localhost:8080/service/getXML");
final InputStream stream = uri.openStream();

问题:

我想返回自定义 HTTP 错误(资源不存在;服务器正忙,稍后再试)。

@GET
@Path("/getError")
@Produces("text/xml")
public Response getError() {
return Response.serverError().status(333).build();
}

但是当我尝试访问错误方法时,我得到 500 (!)(在任何情况下)内部服务器错误。

你们能帮我解决这个问题吗?提前致谢!

最佳答案

我已经解决了这个问题。问题在于使用

.serverError()

自动意味着 500 错误代码作为服务器内部。

我们可以设置响应的状态来返回正确的状态:

@GET
@Path("/getError")
public Response getError() {
return Response.status(412).build();
}

关于tomcat - 如何在 Resteasy 服务中指定响应的自定义 HTTP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13880645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com