0

我已经使用重定向到各种路径创建了一个 REST Web 服务,例如如果我需要删除某个用户,那么我会将用户重定向到@Path注释中的这个地址:

user/delete

因此我没有使用像 RESPONSE 这样的东西。
在查看我的前辈给我的代码时,我遇到了这些问题:

java.net.URI uri = uriInfo.getAbsolutePathBuilder().path(id).build();
Response.created(uri).build();

这些线在做什么,我不知道。有人可以向我解释这个没有 wiki 链接或任何其他“基本休息服务”链接。

4

1 回答 1

0

如果没有关于 uriInfo 对象的任何明确细节,我只能推测它的类型是 JAX-RS UriInfo 类。

第一行可以分解如下:

java.net.URI uri = uriInfo. getAbsolutePathBuilder ().path(id).build();

getAbsolutePathBuilder 记录在http://jackson.codehaus.org/javadoc/jax-rs/1.0/javax/ws/rs/core/UriInfo.html#getAbsolutePathBuilder%28%29

java.net.URI uri = uriInfo.getAbsolutePathBuilder()。路径(id) .build();

该方法返回一个 UriBuilder 对象。在其上调用 'path(...)' 方法传递 id 所以如果绝对路径返回http://www.host.com(这可能有也可能没有端口号)在这个方法中添加 id 将然后导致有效的 Builder 持有这两个部分。基本 URI 和路径。这两个值尚未放在一起

然后 build 方法将两个值连接起来,生成一个完整的 URI。例如http://www.google.com/id(其中http://www.google.com是绝对路径)

第二行

Response.created(uri).build();

基本上是说“使用创建的 (201) 响应代码进行响应,并设置包含构建 uri 值的 Location 标头”

于 2013-06-28T08:33:44.623 回答