3

我有一个端点:

@Path("/products")

    @Produces({ MediaType.APPLICATION_JSON })
    public interface Products {

        @PUT
        @Path("/{productId}")
        ....
    }

我为此服务实现了一个 jax-rs 客户端,并将其导入到我从中调用它的另一个服务中。

所以我从我的第二个服务中呼叫客户如下

public String updateProduct(String productId){
..
  return client.target(this.getBaseUrl()).path("products/").path(productId).request(MediaType.APPLICATION_JSON_TYPE).put(Entity.json(""), String.class);
}

如果我有一个带有斜线的产品说“控制/注册应用程序”,该服务似乎不太好。在调用服务之前,我确实对 productId 进行了编码,然后在收到后对其进行解码。但这似乎不起作用,我得到一个 404 未找到。有任何想法吗?提前致谢

4

1 回答 1

6

使用@Path("{productId : .+}")应该工作。

于 2017-05-15T17:25:18.840 回答