spring boot 实现Restful API
2016-06-28 17:19
495 查看
简单几步,实现Restful API:
1、引入相关的依赖:
2、配置文件application.yml中指定tomcat的端口:
3、定义api的返回码:
4、定义api的返回对象格式:
5、创建controller,处理api请求:
6、启动(run as Spring Boot App)后测试:
浏览器中访问:http://localhost:8082/api/admin/login?userName=admin&password=pword
返回结果:
测试成功!
源代码地址:https://github.com/xujijun/my-spring-boot
1、引入相关的依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
2、配置文件application.yml中指定tomcat的端口:
server: port: 8082
3、定义api的返回码:
package com.xjj.web.result; public enum ResultCode { /** 成功 */ SUCCESS("200", "成功"), /** 没有登录 */ NOT_LOGIN("400", "没有登录"), /** 发生异常 */ EXCEPTION("401", "发生异常"), /** 系统错误 */ SYS_ERROR("402", "系统错误"), /** 参数错误 */ PARAMS_ERROR("403", "参数错误 "), /** 不支持或已经废弃 */ NOT_SUPPORTED("410", "不支持或已经废弃"), /** AuthCode错误 */ INVALID_AUTHCODE("444", "无效的AuthCode"), /** 太频繁的调用 */ TOO_FREQUENT("445", "太频繁的调用"), /** 未知的错误 */ UNKNOWN_ERROR("499", "未知错误"); private ResultCode(String value, String msg){ this.val = value; this.msg = msg; } public String val() { return val; } public String msg() { return msg; } private String val; private String msg; }
4、定义api的返回对象格式:
package com.xjj.web.result; public class JsonResult { private String code; private String message; private Object data; public JsonResult() { this.setCode(ResultCode.SUCCESS); this.setMessage("成功!"); } public JsonResult(ResultCode code) { this.setCode(code); this.setMessage(code.msg()); } public JsonResult(ResultCode code, String message) { this.setCode(code); this.setMessage(message); } public JsonResult(ResultCode code, String message, Object data) { this.setCode(code); this.setMessage(message); this.setData(data); } public String getCode() { return code; } public void setCode(ResultCode code) { this.code = code.val(); } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } }
5、创建controller,处理api请求:
/** * 管理接口:登录……等 * @author XuJijun * */ @RestController @RequestMapping("/api/admin") public class AdminController { //@Value("${spring.profiles}") //private String env; private String userName = "admin"; private String pw = "pword"; /** * 登录 * @param response:用于保存token到cookie中 * @param map:包含userName和password * @return */ @RequestMapping("/login") public JsonResult login(HttpServletRequest request, HttpServletResponse response, @RequestParam Map<String, String> map) { if(userName.equals(map.get("userName")) && pw.equals(map.get("password"))){ return new JsonResult(ResultCode.SUCCESS, "登录成功!", null); }else { return new JsonResult(ResultCode.NOT_LOGIN, "登录失败!", null); } } }
6、启动(run as Spring Boot App)后测试:
浏览器中访问:http://localhost:8082/api/admin/login?userName=admin&password=pword
返回结果:
{"code":"200","message":"登录成功!","data":null}
测试成功!
源代码地址:https://github.com/xujijun/my-spring-boot
相关文章推荐
- Android Manifest 用法
- 什么是 GraphQL?
- Spark RDD API详解(一) Map和Reduce
- Spring Boot 开发微服务
- lwn拾遗:[sn3218 led drivers]-api解释-1
- 页面元素查找之Selectors API
- 一个小型js框架myJSFrame附API使用帮助
- 详细分析交换机、路由器、集线器的区别和联系
- PowerShell打开或关闭光驱
- 批处理的api WMIC学习体会有感第1/2页
- 批处理 API实现文件下载的代码第1/2页
- Lua教程(十七):C API简介
- 强制删除工具 xdelbox xdelbox1.5正式版下载
- 揪出交换机端口背后“凶手”导致网速太慢
- 电脑重启后突然检测不到硬盘的原因分析与解决办法
- C#中设计、使用Fluent API
- Google官方支持的NodeJS访问API,提供后台登录授权
- PQ分区出错! 巧用Ghost急速补救的绝妙办法
- 深入C++中API的问题详解
- 使用WindowsAPI实现播放PCM音频的方法