gpt4 book ai didi

java - JAX-RS 中必需的 @QueryParam(以及在他们缺席的情况下该怎么做)

转载 作者:IT老高 更新时间:2023-10-28 13:52:45 26 4
gpt4 key购买 nike

我使用 RESTEasy JAX-RS 实现将 Web 服务组件部署到 JBoss Application Server 7

JAX-RS 中是否有可用于声明必需的强制 @QueryParam 参数的注释?如果不是,那么处理缺少此类参数的情况的“标准”方法是什么?

当使用所有必需参数正确调用时,我的 Web 服务(资源)方法返回 JSON 字符串化结果,但我不确定向调用者指示缺少必需参数的最佳方法是什么。

最佳答案

好问题。不幸的是(或者幸运的是)JAX-RS 中没有强制任何参数的机制。如果未提供参数,则其值为 NULL 并且您的资源应相应地处理它。我建议使用 WebApplicationException 来通知您的用户:

@GET
@Path("/some-path")
public String read(@QueryParam("name") String name) {
if (name == null) {
throw new WebApplicationException(
Response.status(Response.Status.BAD_REQUEST)
.entity("name parameter is mandatory")
.build()
);
}
// continue with a normal flow
}

关于java - JAX-RS 中必需的 @QueryParam(以及在他们缺席的情况下该怎么做),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13968261/

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