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);
        }
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值