原文地址:http://lierabbit.cn/2018/01/1...java
postman:一个接口测试工具
建立一个新工程git
选择web
不会的请看Spring Boot快速入门(一):Hello Spring Bootgithub
新建java类RequestCtrlweb
@RestController//这是一个控制器并只返回数据不寻找视图 public class RequestCtrl { @RequestMapping("/")//将本方法映射到/ public String all(String name, Integer age)//接受2个参数,name和age { return "这里是all\n" + "name: " + name + "\n" + "age: " + age; } }
requestMapping的做用能够简单理解为给方法加个地址,让别人能访问spring
经过源码能够看出@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请求json
发起带参数的请求app
使用post请求工具
@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=20post
尝试使用post访问,将获得405异常测试
@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异常
@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
@DeleteMapping("/delete")//将本方法映射到/delete,且只能用delete方式访问 public User delete(@RequestBody User user)//接受一个user实体 { user.setName("这个用户将会被删除:" + user.getName()); user.setAge(user.getAge() + 1); return user; }
@PatchMapping("/patch")//将本方法映射到/patch,且只能用patch方式访问 public User pathch(@RequestBody User user)//接受一个user实体 { user.setName("只更名称:" + user.getName()); return user; }
源码地址:https://github.com/LieRabbit/...
原文地址:http://lierabbit.cn/2018/01/1...