如何在 jax-rs 端点的路径参数中允许斜杠
How to allow slashes in path param in jax-rs endpoint
我有一个端点:
@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);
}
如果我有一个带有斜线的产品说“control/register app”,服务似乎不太接受。我在调用服务之前对 productId 进行了编码,然后在收到后对其进行了解码。但这似乎不起作用,我收到 404 not found。有任何想法吗?提前致谢
使用 @Path("{productId : .+}")
应该可以。
我有一个端点:
@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);
}
如果我有一个带有斜线的产品说“control/register app”,服务似乎不太接受。我在调用服务之前对 productId 进行了编码,然后在收到后对其进行了解码。但这似乎不起作用,我收到 404 not found。有任何想法吗?提前致谢
使用 @Path("{productId : .+}")
应该可以。