您的位置:首页 > 编程语言 > Java开发

spring boot 实现Restful API

2016-06-28 17:19 495 查看
简单几步,实现Restful API:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring-boot api Restful