专栏首页Golang开发SpringMVC(2)——注解

SpringMVC(2)——注解

bean注解

spring提供了多个注解声明bean为Spring管理的Bean @Controller 声明此类事一个MVC类,通常与@RequestMapping一起使用 @Service 声明此类是一个业务处理类,通常与@Transactional一起使用

@responseBody

@responseBody作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML. http://localhost:8080/responsebody

    @ResponseBody
    @RequestMapping("/responseBody")
    public String responseBody(){
        return "hello springmvc";
    }

RequestParam

把请求中的指定名称的参数传递给控制器中形参赋值 属性:

  1. value:请求参数中的名称
  2. required:请求参数中是否必须提供此参数,默认值是true,必须提供 http://localhost:8080/param?id=111
    @ResponseBody
    @RequestMapping("/param")
    public String requestParam(@RequestParam(value = "id",required = false) String userId){
        return "hello"+userId;
    }

RequestBody

获取请求参数提的内容,由于get方法没有body 所有get不可以使用, 属性 required:是否必须有请求体,默认值是true

    @ResponseBody
    @RequestMapping(value = "/requestBody",method = RequestMethod.POST)
    public String requestBody(@RequestBody String body){
        return body;
    }

curl 测试请求Post

curl -X POST http://localhost:8080/requestBody \
  -H 'Content-Type: application/json' \
  -d '{"uid":12}'

PathVariable

拥有绑定url中的占位符的。/delete/{id},{id}就是占位符 属性 value:指定url中的占位符名称 http://localhost:8080/user/1100

    @ResponseBody
    @RequestMapping(value = "/user/{id}")
    public String request(@PathVariable("id") String id){
        return "uid:"+id;
    }
RequestHeader

获取指定请求头的值 属性 value:请求头的名称

    @ResponseBody
    @RequestMapping(value = "/lang")
    public String requestHead(@RequestHeader("accept-language") String lang){
        return lang;
    }
curl -X GET http://localhost:8080/lang \
  -H 'Accept-Language: zh-CN' \

CookieValue

获取指定cookie的名称的值 属性 value:cookie的名称 http://localhost:8080/cookie

    @ResponseBody
    @RequestMapping(value = "/cookie")
    public String requestCookie(@CookieValue("JSESSIONID") String cookie){
        return cookie;
    }

ModelAttribute

  1. 出现在方法上:表示当前方法会在控制器方法执行前线执行。
  2. 出现在参数上:获取指定的数据给参数赋值。 应用场景: 1当提交表单数据不是完整的实体数据时,保证没有提交的字段使用数据库原来的数据。 2修饰的方法没有返回值

SessionAttributes

多次执行控制器方法间的参数共享 属性1. value:指定存入属性的名称

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java基础——File

    File是IO包中唯一表示文件和磁盘目录的对象的路径.包含了创建,删除,重命名,获取文件信息等. 构造函数

    羊羽shine
  • ES6——Promise

    是异步编程的一种解决方案,从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。 Promise 状态 Promise 异步操作有三种状态:p...

    羊羽shine
  • DataFrame常用API操作

    以列的(列名,列的类型。列值)的形式构成的分布式数据集,按照列赋予不同名称,约等于关系数据库的数据表

    羊羽shine
  • fastjson:JavaBeanInfo无法正确解析setter方法的问题分析

    版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10...

    用户1148648
  • SpringFramework之@Profile注解

        我们会使用@Profile来分开开发环境和生产环境,Profile是如何实现的呢,如List-1,注意@Conditional的value是Profil...

    克虏伯
  • 评估任意基因集在癌症的表现

    第四单元第二讲:评估任意基因集在癌症的表现 课程链接在:http://jm.grazy.cn/index/mulitcourse/detail.html?cid...

    生信技能树jimmy
  • 7-Flink的分布式缓存

    Flink提供了一个分布式缓存,类似于hadoop,可以使用户在并行函数中很方便的读取本地文件,并把它放在taskmanager节点中,防止task重复拉取。

    王知无
  • Flink从入门到放弃-Flink分布式缓存

    在用户函数中访问缓存文件或者目录(这里是一个map函数)。这个函数必须继承RichFunction,因为它需要使用RuntimeContext读取数据:

    王知无
  • Python自动抢红包,超详细教程,再也不会错过微信红包了!

    提到抢红包,就不得不提Xposed框架,它简直是个抢红包的神器,但使用Xposed框架有一个前提条件:手机需要root,对于苹果手机的话就需要越狱了。现在的手机...

    疯狂软件李刚
  • 剑指Offer-翻转单词顺序列

    牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它...

    武培轩

扫码关注云+社区

领取腾讯云代金券