SpringBoot构建RESTful API——基础构建

1:简单,简单,就是因为简单

@RestController
@RequestMapping("/user")
public class UserController {

    Map<String,User> userDB = Collections.synchronizedMap(new HashMap<String, User>());

    @RequestMapping(value="/save", method=RequestMethod.POST, consumes = "application/json")
    public void saveUser(@RequestBody List<User> users){
        for (User user: users) {
            userDB.put(user.getId(),user);
        }
    }

    @RequestMapping(value = "/{id}", method = RequestMethod.GET, produces = "application/json")
    public User getUserById(@PathVariable("id") String id){
        return userDB.get(id);
    }

}

通过以上短短几行代码我们已经定义了存储用户和获取用户两个操作,接下来我会给您详细解释。

方法解释

名称 描述
@RequestController 使用了这个注解的类会被看作一个controller-使用@RequestMapping的方法有一个默认的@ResponseBody注解。
@RequestMapping(“/user”) 处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestMapping 中 value 对应映射路径
@RequestMapping 中 method 定义了请求方法
@RequestMapping 中 consumes 定义了只接受请求头部 Content-Type 属性,上例中 content-Type=”application/json”
@RequestMapping 中 produces 定义了只接受请求头部 Accept 属性,上例中 Accept=”application/json”
@RequestBody 将请求内容自动映射成为 Java 对象
@PathVariable 将请求内容自动映射成为基础类型

代码解读

定义类路径上拦截URL的中user关联所有请求

@RestController
@RequestMapping("/user")
public class UserController {

定义一个Map对象,模拟数据库存储用户信息。

 Map<String,User> userDB = Collections.synchronizedMap(new HashMap<String, User>());

拦截/user/save请求,consumes定义了只接受json类型数据。@RequestBody 会主动将json对象转换为Java对象,以供业务处理。

 @RequestMapping(value="/save", method=RequestMethod.POST, consumes = "application/json")
    public void saveUser(@RequestBody List<User> users){
        for (User user: users) {
            userDB.put(user.getId(),user);
        }
    }
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

SpringBoot构建RESTful API——基础构建

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭