java - 处理大量查询参数
问题描述
我是春天的新手。我的控制器需要处理大量的查询参数。这是我的代码目前的样子:
@GET
@Path("myresource")
@Consumes({ MediaType.APPLICATION_JSON } )
@Produces({ MediaType.APPLICATION_JSON } )
public String getResource
(
@QueryParam("param1") final String param1,
@QueryParam("param2") final String param2,
@QueryParam("param3") final String param3,
@QueryParam("param4") final String param4,
@QueryParam("param5") final String param5
) throws Exception
{
/* Handle query params */
}
这种编码风格在我看来相当难看。我想知道是否有更好的方法来处理(相对)大量查询参数,例如某种可以帮助我将所有查询参数存储到 POJO 中的注释?
解决方案
为 param 创建一个模型并使用它作为端点。POJO 不需要任何额外的注释。它应该有一个字段列表,这些字段与将从 HTTP 请求、标准 getter/setter 和无参数构造函数绑定的请求参数匹配。
class ParamsModel {
final String param1;
final String param2;
...
//getter setter constructor
}
@GET
@Path("myresource")
@Consumes({ MediaType.APPLICATION_JSON } )
@Produces({ MediaType.APPLICATION_JSON } )
public String getResource(ParamsModel model) throws Exception
{
/* Handle query params */
}
推荐阅读
- typescript - 基于同级枚举值的属性类型
- c# - UWP C# System.InvalidCastException
- javascript - 数据表 yadcf 不适用于空白单元格或渲染值
- jquery - 为单击的元素获取精确的 DOM 树
- go - 从 emersion/go-imap 获取原始消息
- c++ - 我可以 memcpy 对象数据,它在 C++11 中具有标准布局兼容类吗?
- python - Python 和 Tkinter:类和实例创建错误
- javascript - 如何在react-native中显示从另一个js文件到当前文件的模式?
- angular - Angular 6如何获取两个位置AGM之间的距离
- c# - 打开本地pdf文件时,Wpf WebView显示空白窗口