Restful传递数组参数及注解大全
restful 一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
需要传递数组参数的情况,如果是一般的form表单,可以直接定义参数类型为list<string>即可(不能定义为数组类型,否则只能得到一个null)。
示例代码如下:
@post @path("/user" ) public response createuser(@formparam("username" ) string username, @formparam( "keyword") list<string> keywords) {
文件上传接口如何传递 数据 参数?
但是如果是上传文件的接口,因为使用了 @formdataparam 注解,则不能使用上述用法:
@post @path("/upload" ) @consumes(mediatype.multipart_form_data ) public response uploadfile(@formdataparam ("filename" ) string filename, @formdataparam( "file") inputstream uploadedinputstream, @formdataparam( "file") formdatacontentdisposition filedetail , @formdataparam( "keyword") final list<string> keywords) {
访问这个接口时会发生异常:
java.lang.illegalargumentexception : wrong number of arguments
可见使用 @formdataparam 注解时,将参数类型定义成list<string>是不行的,可以定义成 list<formdatabodypart> ,从 formdatabodypart对象中可以取得参数:
@post @path("/upload" ) @consumes(mediatype.multipart_form_data ) public response uploadfile(@formdataparam("filename" ) string filename, @formdataparam( "file") inputstream uploadedinputstream, @formdataparam( "file") formdatacontentdisposition filedetail , @formdataparam( "keyword") final list<formdatabodypart> keywordobjs ) { if (keywordobjs != null && ! keywordobjs.isempty()) { for (formdatabodypart keywordobj : keywordobjs) { string keyword = keywordobj.getvalueas(string.class); system. out.println( "关键字:" + keyword ); } }
restful 注解大全
@get、@post、@put、@delete、@head
@get、@post、@put、@delete 以及 @head 均是 http 请求方法指示符注释。您可以使用它们来绑定根资源或子资源内的 java 方法与 http 请求方法。http get 请求被映射到由 @get 注释的方法;http post 请求被映射到由 @post 注释的方法,以此类推。
@conumes 和 @produces
@conumes注释代表的是一个资源可以接受的mime类型。@produces注释代表的是一个资源可以返回的mime类型。
@path
@path注释被用来描述根资源、子资源方法或子资源位置。value值可以包含文本字符、变量或具有定制正则表达式的变量。
推荐阅读
-
Restful传递数组参数及注解大全
-
Restful传递数组参数及注解大全
-
亲测SpringBoot参数传递及@RequestBody注解---踩过的坑及解决
-
Jersey开发Restful的文件上传接口如何传递数组参数
-
Jersey开发Restful的文件上传接口如何传递数组参数
-
VUE的事件绑定修饰符练习及vue列表渲染及条件渲染练习,vue键盘事件+数组方式参数的传递学习及vue的计算属性访问器属性及侦听属性练习以及vue注册组件自定义标签及子组件向父组件传参及父组件向父组件传参
-
VUE的事件绑定修饰符练习及vue列表渲染及条件渲染练习,vue键盘事件+数组方式参数的传递学习及vue的计算属性访问器属性及侦听属性练习以及vue注册组件自定义标签及子组件向父组件传参及父组件向父组件传参
-
亲测SpringBoot参数传递及@RequestBody注解---踩过的坑及解决