spring boot 学习(三)API注解记录及测试

来源:互联网 发布:伊斯兰 知乎 编辑:程序博客网 时间:2024/05/21 20:24

spring boot API注解记录及测试


部分注解解析

  • @Controller : 修饰创建处理 http 处理对象,一般用于页面渲染时使用。
  • @RestController : Json数据交互; 相当于@Controller 中配置 @ResponseBody 来返回 Json数据。
  • @RequestMapping : 配置映射URL。

关于 @Controller 与 @RestController 的区别
官方文档:@RestController is a stereotype annotation that combines @ResponseBody and @Controller。
谷歌翻译:@RestController是一个构造型注释,结合了@ResponseBody和@Controller。
1) 使用@RestController注解Controller,配置的视图解析器不起作用,返回为Json数据。(JSON、XML或自定义mediaType内容)
2) 如果需要返回到指定页面,则需要用 @Controller配合视图解析器。

关于 @RequestMapping 的六个属性
value:指定请求的实际地址。(value的uri值为三类:具体值、含有某变量的一类值、含正则表达式的一类值)。
method:指定请求的method类型, GET、POST、PUT、DELETE等。
consumes:指定处理请求的提交内容类型(Content-Type),例如application/json, text/html。
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。
params: 指定request中必须包含某些参数值是,才让该方法处理。
headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。


创建一份简单的API

请求类型 URL 功能说明 GET /users 查询用户列表 POST /users 创建一个用户 GET /users/id 根据id查询一个用户 PUT /users/id 根据id更新一个用户 DELETE /users/id 根据id删除一个用户

User实体类:

public class User {    private long id;    private String name;    private Integer age;    //省略了 Getter 与 Setter 方法。}

具体的 Controller 类:

@RestController@RequestMapping(value = "/users")public class UserController {    //创建线程安全的Map    static Map<Long, User> users = Collections.synchronizedMap(new HashMap<Long, User>());    @RequestMapping(value="/", method=RequestMethod.GET)    public List<User> getUserList(){        // 处理"/users/"的GET请求,用来获取用户列表        List<User> list = new ArrayList<User>(users.values());        return list;    }    @RequestMapping(value="/", method=RequestMethod.POST)    public String postUser(@ModelAttribute User user) {        // 处理"/users/"的POST请求,用来创建User        users.put(user.getId(), user);        return "创建用户 "+ id +" 成功!";    }    @RequestMapping(value="/{id}", method=RequestMethod.GET)    public User getUser(@PathVariable Long id) {        // 处理"/users/{id}"的GET请求,用来获取url中id值的User信息        // url中的id可通过@PathVariable绑定到函数的参数中        return users.get(id);    }    @RequestMapping(value="/{id}", method=RequestMethod.PUT)    public String putUser(@PathVariable Long id, @ModelAttribute User user) {        // 处理"/users/{id}"的PUT请求,用来更新User信息        User u = users.get(id);        u.setName(user.getName());        u.setAge(user.getAge());        users.put(id, u);        return "更新用户 "+id+" 信息成功!";    }    @RequestMapping(value="/{id}", method= RequestMethod.DELETE)    public String deleteUser(@PathVariable Long id) {        // 处理"/users/{id}"的DELETE请求,用来删除User        users.remove(id);        return "删除用户 "+id+" 成功!";    }}

利用 google chrome 的 Postman 来进行测试

  1. 检查当前用户列表。
    链接(GET方法):http://localhost:8080/users/
    用户列表

  2. 创建一个新用户。
    链接(POST方法):http://localhost:8080/users/
    创建用户

  3. 更新用户信息。
    链接(PUT方法):http://localhost:8080/users/123
    更新用户信息

  4. 查询用户信息。
    链接(GET方法):http://localhost:8080/users/123
    查询用户信息

  5. 检查当前用户列表。
    链接(GET方法):http://localhost:8080/users/
    用户列表

  6. 删除用户信息。
    链接(DELETE方法):http://localhost:8080/users/123
    删除用户

备注:部分资料参考网上资源!

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 洗衣机内有味道怎么办 洗衣机总有味道怎么办 上体育课脚扭伤怎么办 教学实践评价表怎么办 初中孩子成绩下降怎么办 给孩子开家长会怎么办 读初三很难受怎么办 初三了英语很差怎么办 数学考30分怎么办 小学生阅读理解能力差怎么办 小学一年级数学差怎么办 小学一年级数学很差怎么办 初中生脸上长斑怎么办 初中生脸上长痘怎么办 初中成绩不好高中怎么办 农村老人去城里怎么办 留守儿童想妈妈怎么办 教师档案丢失了怎么办 转正定级表丢失怎么办 娃娃写作业慢怎么办 写作业眼睛疼怎么办 发生火灾怎么办大班教案 大班健康发生火灾怎么办 学生上课不提问怎么办 入户通知单丢了怎么办 打架后还来找事该怎么办 着火了怎么办教案视频 电脑一小半黑屏怎么办 绝地求生闪退怎么办 win7没浏览器了怎么办 浏览器被删除了怎么办 把快捷方式删了怎么办 ie文件找不到了怎么办 ie文件不存在了怎么办 大学素质分不够怎么办 素拓学分不够怎么办 大学毕业之前素拓分拿不满怎么办 武汉幼儿医保卡怎么办 养老院护工欺老人怎么办 皮肤毛孔粗大有痘印痘坑怎么办 额头上毛孔大怎么办