后羿框架-公共子框架-报文封装

后羿框架-公共子框架-报文封装,第1张

框架基于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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9874912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存