美文网首页Spring Boot快速入门
Spring Boot快速入门(二):http请求

Spring Boot快速入门(二):http请求

作者: LieRabbit | 来源:发表于2018-01-14 22:44 被阅读0次

    一、准备

    postman:一个接口测试工具

    创建一个新工程

    选择web

    不会的请看Spring Boot快速入门(一):Hello Spring Boot

    二、开始

    新建java类RequestCtrl

    1.添加一个all方法,使用@RequestMapping注解,可以处理所有的http请求

    @RestController//这是一个控制器并只返回数据不寻找视图

    public class RequestCtrl

    {

        @RequestMapping("/")//将本方法映射到/

        public String all(String name, Integer age)//接受2个参数,name和age

        {

            return "这里是all\n" + "name: " + name + "\n" + "age: " + age;

        }

    }

    requestMapping的作用可以简单理解为给方法加个地址,让别人能访问

    通过源码可以看出@RestController是@Controller和ResponseBody的结合注解

    @Controller 表明这是一个控制器,将会返回数据或者页面

    @ResponseBody 表明只会返回数据,Spring Boot默认将数据使用jaskson序列化为json返回

    JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,常见表现形式为键值对{key:value},例如{name:"lierabbit",age:20},字符串和数字直接返回

    启动程序,打开postman

    对http://localhost:8080发起get请求

    发起带参数的请求

    使用post请求

    2.添加一个get方法,使用@GetMapping注解,只可以处理get类型的http请求

    @GetMapping("/get")//将本方法映射到/get,且只能用get方式访问

    public String get(String name, int age)//接受2个参数,name和age

    {

        return "这里是get\n" + "name: " + name + "\n" + "age: " + age;

    }

    重启程序

    使用get方式访问http://localhost:8080/get?name=lierabbit&age=20

    尝试使用post访问,将得到405异常

    3.添加一个post方法,使用@PostMapping注解,只可以处理post类型的http请求

    @PostMapping("/post")//将本方法映射到/post,且只能用post方式访问

    public String post(String name, int age)//接受2个参数,name和age

    {

        return "这里是post\n" + "name: " + name + "\n" + "age: " + age;

    }

    重启程序

    使用post方式访问

    尝试使用get访问,得到405异常

    4.添加一个put方法,使用@PutMapping注解,只可以处理put类型的http请求

    @PutMapping("/put")//将本方法映射到/put,且只能用put方式访问

    public User put(@RequestBody User user)//接受一个user实体

    {

        user.setName("名字已经被修改:" + user.getName());

        user.setAge(user.getAge() + 1);

        return user;

    }

    @RequestBody 表示接受一个user实体(user json)

    返回User,会被spring boot自动序列化为json

    5.添加一个delete方法,使用@DeleteMapping注解,只可以处理delete类型的http请求

    @DeleteMapping("/delete")//将本方法映射到/delete,且只能用delete方式访问

    public User delete(@RequestBody User user)//接受一个user实体

    {

        user.setName("这个用户将会被删除:" + user.getName());

        user.setAge(user.getAge() + 1);

        return user;

    }

    6.添加一个patch方法,使用@PatchMapping注解,只可以处理patch类型的http请求

    @PatchMapping("/patch")//将本方法映射到/patch,且只能用patch方式访问

    public User pathch(@RequestBody User user)//接受一个user实体

    {

        user.setName("只改名称:" + user.getName());

        return user;

    }

    源码地址:https://github.com/LieRabbit/SpringBoot-request

    原文地址:https://lierabbit.cn/2018/01/14/SpringBoot%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A82-Http%E8%AF%B7%E6%B1%82/

    相关文章

      网友评论

        本文标题:Spring Boot快速入门(二):http请求

        本文链接:https://www.haomeiwen.com/subject/tsbloxtx.html