我正在开发一个使用泽西岛的网络应用程序。我正在尝试使用 URIBuilder 和 seeOther 响应来实现 get-after-post 之类的东西。目的是重定向到浏览器已经在的同一个 URI,但强制执行 GET。它有点像这样:
- 请求通过 PUT 进入
- PUT 请求已处理
- 参见返回的其他响应
应该发生的是浏览器选择 303 See Other 并在它收到的 URI 上执行 GET。不幸的是,发生的事情是它改为在 URI 上执行 PUT(据我所知),然后 PUT 将其发送回上面的第 1 步,从而导致重定向循环。
任何想法这里出了什么问题?
private Response giveSeeOther(){
/*Get the base URI builder*/
final UriBuilder uriBuilder = m_uriInfo.getBaseUriBuilder();
/* Some stuff to create the URI */
final Map<String, Object> parameterMap = new HashMap<String, Object>();
parameterMap.put("uid", getUid());
final URI redirectUri = uriBuilder.path(SomeObject.class).
path(SomeObject.class, "get").
buildFromMap(parameterMap);
/* See Other (303) */
return Response.seeOther(redirectUri).build();}
这是查看其他方法的代码。我不确定您可能还想看到什么其他代码,但请告诉我。