首页>代码>Spring Boot学习(五)之使用Swagger2构建强大的RESTful API文档 博客源码分享>/springbootstudy-demo5/src/main/java/com/xiaojingg/web/UserController.java
package com.xiaojingg.web;

import com.xiaojingg.damain.User;

import java.util.*;

import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;
/**
 * 筱进GG
 */
@RestController
@RequestMapping(value="/users")     // 通过这里配置使下面的映射都在/users下,可去除
public class UserController {

    static Map<Long, User> users = Collections.synchronizedMap(new HashMap<Long, User>());

    @ApiOperation(value="获取用户列表", notes="")
    @RequestMapping(value={""}, method=RequestMethod.GET)
    public List<User> getUserList() {
        List<User> r = new ArrayList<User>(users.values());
        return r;
    }

    @ApiOperation(value="创建用户", notes="根据User对象创建用户")
    @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User")
    @RequestMapping(value="", method=RequestMethod.POST)
    public String postUser(@RequestBody User user) {
        users.put(user.getId(), user);
        return "success";
    }

    @ApiOperation(value="获取用户详细信息", notes="根据url的id来获取用户详细信息")
    @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long")
    @RequestMapping(value="/{id}", method=RequestMethod.GET)
    public User getUser(@PathVariable Long id) {
        return users.get(id);
    }

    @ApiOperation(value="更新用户详细信息", notes="根据url的id来指定更新对象,并根据传过来的user信息来更新用户详细信息")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long"),
            @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User")
    })
    @RequestMapping(value="/{id}", method=RequestMethod.PUT)
    public String putUser(@PathVariable Long id, @RequestBody User user) {
        User u = users.get(id);
        u.setName(user.getName());
        u.setAge(user.getAge());
        users.put(id, u);
        return "success";
    }

    @ApiOperation(value="删除用户", notes="根据url的id来指定删除对象")
    @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long")
    @RequestMapping(value="/{id}", method=RequestMethod.DELETE)
    public String deleteUser(@PathVariable Long id) {
        users.remove(id);
        return "success";
    }

}
最近下载更多
edpwyg  LV14 2021年3月31日
wangdengzhe  LV7 2020年12月1日
氪氪超爱氪氪  LV10 2020年6月5日
走掉的旋律  LV8 2020年3月12日
zhujunnan  LV12 2019年10月26日
qiheideguang  LV16 2019年9月6日
kld113  LV20 2019年7月24日
碼丐0077  LV9 2019年5月17日
cc900118  LV17 2019年3月4日
低调人  LV38 2019年2月23日
最近浏览更多
森sdfgf  LV8 2023年6月11日
hb2008  LV3 2023年3月7日
冰123456  LV5 2022年12月1日
ewan007  LV29 2022年7月8日
zwh787  LV2 2022年5月18日
回音哥  LV13 2022年2月15日
931933787  LV2 2021年11月4日
mylzdy  LV12 2021年8月26日
edpwyg  LV14 2021年3月31日
CrazySnail_001  LV5 2021年1月26日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友