框架基于spring-web实现的REST服务接口,接口调用时可基于>
顾名思义:获取参数,即获取传送过来的参数。例如获取下面链接的id参数值:
//链接(注意链接格式区别)
>
定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK15及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
用过SpringMVC框架的小伙伴们都知道,@RequestParam就是用来处理入参的,但可能你会奇怪,平时不使用这个参数也可以获取到参数呀,加与不加都可以获取参数,是这样吗?
1、不添加@RequestParam注解
首先我们创建测试的控制器类,方法中添加一个参数name,此时参数没有添加@RequestParam注解,如下:
启动项目后,通过浏览器访问测试效果,不带参数则获取的参数为null,但页面可以正常显示,请求可以正常的执行,带上参数之后,参数可以正常的获取并打印出来了,如下:
2、添加@RequestParam注解,没有任何注解设置参数
再次启动项目后,通过浏览器访问查看效果,此时带上name参数页面可以正常显示并打印出结果值,但如图所示,不带参数的时候,页面报错,返回400,并提示name不存在,如下:
3、@RequestParam注解参数说明和使用
31、参数required表示该参数是否为必须要提交的,默认为true,即必须要提交的,如果没有提交该参数则会报错;false表示不是必须的,如果没有提交该参数不会报错。
此时参数required=true,name参数提交则正常显示,不提交则会报错,如下:
如果将参数改为required=false,name参数提交则正常显示,不提交则会显示null,不会报错
32、参数defaultValue用来在参数为空的情况下为该参数设置一个默认值,如果参数不为空,则正常获取参数值,如果为空,则参数值为该默认值,如下:
浏览器访问效果如下:
33、参数value是在提交的参数名和方法中接收参数的变量名不一致时使用,如果页面提交的参数名为inputName,而方法中定义的接收参数的变量名为name,此时就用到参数value了,如下:
4、此时我们会发现,@RequestParam注解加与不加参数都能正常获取到,那么接下来我们来修改一个eclipse的配置,再来看一下,修改的配置如下图:
我们将图中标出的这个配置取消勾选,保存修改后再启动项目,在没有添加@RequestParam注解和只是添加了@RequestParam注解,而没有添加注解的value参数时。
你会发现页面会报500错误,而eclipse同样也会报错,结果如下:
eclipse的该设置表示:将变量属性添加到生成的类文件里面;
当然在我们开发阶段不会去修改这些配置,不会出现问题,但是当项目发布到真实环境中,不知道它是如何编译的,配置是否相同,如果不同,那么系统将会出现问题,无法运行。所以为了养成良好的习惯,不给自己埋坑,在开发时将@RequestParam注解写上为好!
post 请求获取body内容
注意:>
@GET
GET请求(读取/列出/检索单个或资源集合。)
@POST
POST请求(新建资源。)
@PUT
PUT请求(更新现有资源或资源集合。)
@DELETE
DELETE请求(删除资源或资源集合。)
用来指定可以接受client发送过来的MIME类型,同样可以用于class或者method,也可以指定多个MIME类型,一般用于@PUT,@POST
用来指定将要返回给client端的数据标识类型(MIME)。@Produces可以作为class注释,也可以作为方法注释,方法的@Produces注释将会覆盖class的注释
用于获取url中直接在斜杠后面添加参数值
用于获取url中在后面添加键值对形式的参数
该注解用来解析上下文参数。(@Context >
以上就是关于后羿框架-公共子框架-报文封装全部的内容,包括:后羿框架-公共子框架-报文封装、Java 注解的读取注解信息的方法、@RequestParam、@PathVariable、@RequestBody和@Param等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)