IDEA创建springBoot项目
1.根据文章安装并且配置Maven
2.新建一个空的工程
3.file—seeting—project structure—new Moudle
其他的参数看你自己的选择,新建两个类Controller 和User
BookController全部代码:
package com.dxl.controller;
import com.dxl.domain.User; //新建一个User类,属性为name 和 uid
import org.springframework.web.bind.annotation.*;
//Rest模式
@RestController
public class BookController {
@RequestMapping(value = "/users",method = RequestMethod.POST)//RETS风格,访问路径,新增
@ResponseBody
public String save(@RequestBody User user){
System.out.println("user save...."+user);
return "{'module':'user save'}";//json格式
}
@RequestMapping(value = "/users/{uid}",method = RequestMethod.DELETE)//删除,{}里面的值和传入的参数名一样
@ResponseBody
public String delete(@PathVariable Integer uid){ //@PathVariable是获取url路径数据的
System.out.println("user delete...."+uid);
return "{'module':'user delete'}";//json格式
}
@RequestMapping(value = "/users",method = RequestMethod.PUT)//修改
@ResponseBody
public String update(@RequestBody User user){ //获取传入的请求的body部分
System.out.println("user update...."+user);//会调用User的tostring方法
return "{'module':'user update'}";//json格式
}
@RequestMapping(value = "/users/{id}",method = RequestMethod.GET)//查询,{}里面的值和传入的参数名一样
@ResponseBody
public String getById(@PathVariable Integer id){
System.out.println("user getById...."+id);
return "{'module':'user getById'}";//json格式
}
@RequestMapping(value = "/users",method = RequestMethod.GET)//查询全部
@ResponseBody
public String getAll(){
System.out.println("user getAll....");
return "{'module':'user getAll'}";//json格式
}
}
User类全部代码:
package com.dxl.domain;
public class User {
public String name;
public String uid;
public User(String name, String uid) {
this.name = name;
this.uid = uid;
}
public User(){//如果没有json反序列化会报错
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", uid='" + uid + '\'' +
'}';
}
}
运行后端代码每次修改代码之后都需要重新启动
REST开发基础知识
REST ( Representational State Transfer ),表现形式转化,也就是访问网络资源的格式
通常都是用复数,也就是会加s
,不用user
,用的users
接口测试工具postman
在官网下载地址上下载安装包,打开就可以使用了
新建connection a hundred billion
和子文件夹user
,并且设置访问的参数
每个request的请求路劲设置:
控制台输出结果:
注意
:
Restful风格代码简化
后的Controller的全部代码:
package com.dxl.controller;
import com.dxl.domain.User;
import org.springframework.web.bind.annotation.*;
//Rest模式
@RestController//每个都有就可以写到类外面来 ,包含了@ResponseBody 和@Controller
@RequestMapping("/users")//每个都有就可以写到类外面来
public class BookController {
// @RequestMapping(method = RequestMethod.POST)//新增,RETS风格设计访问路径,设定http访问的动作和参数
@PostMapping //和上面的等价
public String save(@RequestBody User user){
System.out.println("user save...."+user);
return "{'module':'user save'}";//json格式
}
// @RequestMapping(value = "/{uid}",method = RequestMethod.DELETE)//删除,{}里面的值和传入的参数名一样
@DeleteMapping("/{uid}")
public String delete(@PathVariable Integer uid){ //@PathVariable是获取url路径数据的
System.out.println("user delete...."+uid);
return "{'module':'user delete'}";//json格式
}
// @RequestMapping(method = RequestMethod.PUT)//修改
@PutMapping
public String update(@RequestBody User user){ //获取传入的请求的body部分
System.out.println("user update...."+user);//会调用User的tostring方法
return "{'module':'user update'}";//json格式
}
// @RequestMapping(value = "/{id}",method = RequestMethod.GET)//查询,{}里面的值和传入的参数名一样
@GetMapping("/{id}")
public String getById(@PathVariable Integer id){
System.out.println("user getById...."+id);
return "{'module':'user getById'}";//json格式
}
// @RequestMapping(method = RequestMethod.GET)//查询全部
@GetMapping
public String getAll(){
System.out.println("user getAll....");
return "{'module':'user getAll'}";//json格式
}
}