gpt4 book ai didi

java - 如何在 Jersey REST 方法中使用可选数量的参数?

转载 作者:行者123 更新时间:2023-11-29 04:34:47 24 4
gpt4 key购买 nike

我是新来的 Jersey 。所以,请原谅任何错误。

我正在尝试设置一个简单的 REST ws。有一个方法名称 getConnectedMHubs,它有一个必需参数 thingID 和两个可选参数:timedelta

是否可以为两种类型的调用使用相同的方法名称,有和没有可选参数?我试图指定两条路径,但得到了一个 ModelValidationException,上面写着:

A resource model has ambiguous (sub-)resource method for HTTP method GET and input mime-types as defined by"@Consumes" and "@Produces" annotations at Java methods public ...

代码示例:

@Path("/api")
public class RendezvousWebService {
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("connectedmhubs/{mhubid}")
public String getConnectedThings(@PathParam("mhubid") String strMHubID) {
// ...
return "{}";
}

@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("connectedmhubs/{mhubid}/{time}/{delta}")
public String getConnectedThingsExtended(@PathParam("mhubid") String strMHubID, @PathParam("time") long timestamp, @PathParam("delta") long delta){
// ...
return "{}";
}

}

最佳答案

使用 @Path 使参数成为必需的。您可以使用正则表达式来解决这个问题,也可以使用 @QueryParam@DefaultValue 将这两种方法合二为一。

关于java - 如何在 Jersey REST 方法中使用可选数量的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42122377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com