我在应用程序中使用Jersey 1.8。我正在尝试POST
在服务器上使用数据。数据是类型的application/x-www-form- urlencoded
。 有没有一种方法可以将所有数据(可能是)收集到一个html" target="_blank">对象中Map<String, Object>
。
我碰到泽西岛的@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
。但是使用此功能需要我使用@FormParam
,如果参数数量巨大,这可能很乏味。也许这是一种方法:
@POST
@Path("/urienodedeample")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public Response uriEncodedExample(String uriInfo){
logger.info(uriInfo);
//process data
return Response.status(200).build();
}
上面的代码使用并呈现String
对象中的表单数据。
_search=false&nd=1373722302667&rows=10&page=1&sidx=email&sord=desc
处理此错误可能会很容易出错,因为任何放错位置&
和split()都将返回损坏的数据。
我在大多数工作中都使用UriInfo,它将为我提供a
MultiValuedMap
或其他POST请求中的查询参数,以有效json
格式发送有效载荷,而该有效载荷又可以反编组为Map<String, Object>
。如果POST数据是类型的,我怎么做的任何建议application/x-www-form-urlencoded
。
得到它了。根据本文档,我可以使用MultivaluedMap<K,V>
或窗体application/x-www- form-urlencoded
在一个对象中获取该类型的所有POST数据。工作示例:
@POST
@Path("/urienodedeample")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public Response uriEncodedExample(MultivaluedMap<String,String> multivaluedMap) {
logger.info(multivaluedMap);
return Response.status(200).build();
}
我目前使用的是球衣 我现在要做的是设置泽西,这样当查询参数进来时(比如缩进),我可以告诉Jackson以“更漂亮的格式,也就是缩进”序列化JSON。您可以通过使用SerializationConfig.Feature.INDENT_OUTPUT配置JSON映射器来轻松地告诉Jackson这样做。 问题是,我如何在每个请求的基础上获取一个queryparam并使用它来修改Jackson的输出?
问题内容: 我正在使用Jersey创建REST API。我有一个POST方法,作为该方法的响应,应该将用户重定向到自定义URL ,因为它不必与API相关。 我在这里查看有关此主题的其他类似问题,但没有找到任何我可以使用的东西。 问题答案: 我建议更改JAX- RS注释方法的签名以返回对象。根据您打算重定向是永久重定向还是临时重定向(即客户端是否应更新其内部引用以反映新地址),该方法应构建并返回对应
我试图通过POST检索数字数组,发送到服务器的原始数据是: 这包含一个来自javascript控制台的数组桶=[6,6,6,...]: 我使用以下代码发布: 我的服务器代码是: 服务器输出为: 为什么它不获取数组值? 编辑:在创建这个线程之前,我试着使用@FormParam,但仍然不起作用
问题内容: 我有一个Jersey REST API,并且正在使用来处理授权。我还在所有端点上使用,以便我的API可以处理数千个并发请求。 我的授权过滤器命中了一个远程服务,但是当运行过滤器时,Jersey尚未将当前线程添加到它的内部,因此我完全失去了异步的好处。 我可以告诉Jersey我希望这是异步的吗? 这是一个示例资源: 更新 刚刚收到泽西队球员的回音,从2.7开始,这是不可能的。只有资源方法
我很难理解泽西岛的注入机制。JAX-RS规范(http://jsr311.java.net/nonav/releases/1.1/spec/spec3.html#x3-520005)指出,在应用程序子类、根资源类和提供程序中可以通过@Context进行注入。 我现在有一个在启动时实例化的类,并且有一个在每次请求时调用的方法。在方法内部,我需要访问当前的UriInfo对象。问题是,这个方法不是从我的
我正在泽西岛2中编写一个RESTful网络服务。我想支持响应的 Gzip 编码。按照这个答案,我在我的类中启用了。 在我的资源类中,我返回一个对象。 现在,当我点击这个api时,我得到一个响应,但响应头不包含头,而是包含 header。 请求: 响应: 响应中没有 标头,也没有任何标头。 我在上使用。 我还遗漏了其他配置吗?我如何获得这两个头并得到gzip压缩的响应,而不是接收分块的响应? 编辑: