Java JAX-RS混合@FormParam和多值Map<;字符串,字符串>;formParams
我有一个方法可以返回父记录的所有记录(例如文档和行): 问题是:使用Java JAX-RS混合@FormParam和多值Map<;字符串,字符串>;formParams,java,rest,annotations,jersey,jax-rs,Java,Rest,Annotations,Jersey,Jax Rs,我有一个方法可以返回父记录的所有记录(例如文档和行): 问题是:使用@FormParam,多值映射始终为空。 如何将多值dmap和@FormParam混合在一起?您不能在同一资源方法中使用@FormParam、多值dmap、@FormDataParam、@BeanParam。JAX-RS不知道映射请求中提交的信息的合适对象是哪个 在任何情况下,我都不明白为什么不直接使用多值map formParams和验证idParent 使用@Formparam不会使此类参数成为必需的,您可以通过您的代码实现
@FormParam
,多值映射始终为空。
如何将多值dmap和
@FormParam
混合在一起?您不能在同一资源方法中使用@FormParam、多值dmap、@FormDataParam、@BeanParam
。JAX-RS不知道映射请求中提交的信息的合适对象是哪个
在任何情况下,我都不明白为什么不直接使用多值map formParams
和验证idParent
使用@Formparam
不会使此类参数成为必需的,您可以通过您的代码实现来负责:
public Datasource<Son> getSonsFromParent( MultivaluedMap<String, String> formParams) {
String idParent = formParams.getFirst("idparent");
if(idParent == null || idParent.isEmpty()){
// return .... [idParent is required] 400 Bad Request
}
}
公共数据源getSonsFromParent(多值dmap formParams){
字符串idParent=formParams.getFirst(“idParent”);
if(idParent==null | | idParent.isEmpty()){
//return….[idParent是必需的]400错误请求
}
}
如果您打算向您的客户公开此类参数,这也意味着您的API文档将公开所有参数,而不仅仅是必需的参数,对吗?请看这里。这是一个能满足你需要的答案。我想使用@FormParam,因为如果我的参数是整数,它会将字符串转换为Long。之后,我将检查(param==null)是否抛出异常。FormParam只是一种更简单的方法,但如果我不能使用它,我就不能:)谢谢
sort[0]=name
sort[1]=surname
filter[0][field]=name
filter[0][operator]=equal
filter[0][value]=Marc
public Datasource<Son> getSonsFromParent( MultivaluedMap<String, String> formParams) {
String idParent = formParams.getFirst("idparent");
if(idParent == null || idParent.isEmpty()){
// return .... [idParent is required] 400 Bad Request
}
}