泽西岛:位置 header URI 未正确创建

Jersey: location header URI not created correctly

我的 POST 方法 returns 使用以下代码创建响应:

    URI location = null;
    try {
        location = new URI("example");
    } catch (URISyntaxException e) {
        e.printStackTrace();
    }

    return Response.created(location).build();

我在 browser/postman 上得到的回复位置 header 是:

base-path-to-my-webapp/example

在我期待的时候base-path-to-my-web-app/current-path/example

我试图在网上查找问题。我收到 https://java.net/jira/browse/JERSEY-2838 表示问题已解决,如果我们 POST 到 current-path/(带尾部斜杠),我们应该得到正确的响应。

这似乎对我不起作用。我正在使用 Jersey 2.23.2

查看 Migrating from Jersey 2.22 to 2.22.1。它描述了所做的更改。如果您想要您期望的行为,请设置 属性

ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_RFC7231

true 应该可以解决问题。