resteasy 参数简单解析

概述      

        resteay对参数解析

get

@PathParam 匹配url变量的,假如@path("/{param}/a"),url访问/adc/a,则@PathParam("param")获取的就adc.

@QueryParam("name"),url访问name=张三&id=1,则@QueryParam("name")的值就是"张三"

post

     测试方式可采用postman的方式

  • application/x-www-form-urlencoded  一般表单的默认提交方式,提交数据将会按照key1=value1&key2=value2的形式进行ur编码
  • multipart/form-data 一般上传文件用到,其生成的数据会已分割线分割不同的字段,正文包含正文以及正文的描述,诸如content-disposition,filename的描述信息,文本或者二进制的正文
  • application/json  这数据已json的格式传递,ajax经常用到,将一个form表单序列化后提交,这种格式有json数据天然的优势,可以传递层级较多的信息
  • text/xml 这个就用到比较少,xml格式文件远不如json来的方便,更适用于xml-rpc协议这种http中用xml进行数据交换的场景
  • ....


       制定消费类型 ;@Consumes   默认*/*

application/x-www-form-urlencoded  

     @FormParam("name"),MultivaluedMap<String,String> params

multipart/form-data

  • 对简单的文本或者pojo的value的形式,可直接用map--('中文乱码,看下)
  • 文件上传,可使用MultipartFormDataInput

raw

        对应的content_type有多种
  • txt为content_type=text/plain,原生的数据,直接用一个string 参数接受就可以
  • json对应content_type=application/json,也可以直接用string接受
  • js对应content_type=application/json
  • ....

binary

        用byte[]接收
       解决multipart/form-data参数中文乱码问题 定义一个ReaderInterceptor( 或者ContainerResponseFilter),以ReaderInterceptor为例
public class ReadCharsetInterceptor implements ReaderInterceptor {

	@Override
	public Object aroundReadFrom(ReaderInterceptorContext context) throws IOException, WebApplicationException {
		context.setProperty(InputPart.DEFAULT_CHARSET_PROPERTY,"UTF-8");//resteasy.provider.multipart.inputpart.defaultCharset
		//context.setProperty(InputPart.DEFAULT_CONTENT_TYPE_PROPERTY,"UTF-8");//resteasy.provider.multipart.inputpart.defaultContentType
		return context.proceed();
	}

}

使用pojo接收参数

一般参数

testgetvo

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值