gpt4 book ai didi

java - Jersey Response.seeOther() 未给出 HTTP 303 状态代码

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:04 25 4
gpt4 key购买 nike

我有一个社交网站,其中有一个受限制的社区。

当 guest 用户申请成员(member)资格时,会生成成员(member)资格请求。我通过 REST API 执行此任务。

我在 Firefox 中使用 RESTClient 插件来发送请求。

当我发送将自己添加到受限社区的 POST 请求时,响应是为其生成的成员(member)资格请求。因此,底层 HTTP 状态代码为 303 See Other POST/GET .

我得到了与成员(member)资格请求相同的正确响应,但状态代码是 200 OK (我认为这是成员(member)请求上的 GET 代码)。

但是,我需要相同的 303。我也尝试过调试。我的发现是 Jersey Response.seeOther()没有返回 303。

请帮忙。

代码片段如下:

addUserToCommunity 方法:

MembershipRequestModel membershipRequest = null;
membershipRequest = communityService.addUserToCommunity(communityId, userId);
if(membershipRequest != null) {
// Add code 303 if returning membershiprequest
return seeOther( membershipRequest,
String.valueOf(membershipRequest.getId()),
MembershipRequestRestHandlerImpl.class);
} else {
return ok(null);
}

seeOther method which in turn calls Response.seeOther() :

public Response seeOther(Object model, String id, Class<?> resource){

URI location = buildLocation(resource, id);

return Response.seeOther(location).entity(createResponseItems(model)).build();
}

最佳答案

303 - See Other 本质上是一个重定向 - 浏览器会自动遵循位置 header 中提供的 URL。你确定这不是你看到的吗? IE。也许您正在使用的 Firefox 插件只是简单地遵循重定向(在幕后)并返回该位置 URL 上的 GET 方法的结果。尝试 FireBug,它会向您显示线路上的确切请求 - 您应该能够在那里看到重定向。

关于java - Jersey Response.seeOther() 未给出 HTTP 303 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9905336/

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