spring boot 实现Restful API

简单几步,实现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



  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值