restful 风格处理响应

现在的项目处理已经越来越流行

restful 风格处理响应,里面  包含 code message,data

现在写一个建的restfulmessage

package Util;

/**
 * Created by Guozhijie on 2016/8/29.
 */
public class RESTfulMessage {
    public static final String SECCESS="succes";
    public static final String ERROR="error";

    private Integer code;
    private String message;
    private Object data;

    public static class MessageBuilder{
        private Integer code;
        private String messgae;
        private Object data;
      public MessageBuilder(Integer code){
          this.code=code;
      }
        public MessageBuilder(Integer code,String messgae){
            this.code=code;
            this.messgae=messgae;
        }
        public RESTfulMessage build(){
            return new RESTfulMessage(this);
        }
        public RESTfulMessage.MessageBuilder message(String messgae){
            this.messgae=messgae;
            return this;
        }
        public  RESTfulMessage.MessageBuilder data(Object data){
            this.data=data;
            return this;
        }
    }

    private static  RESTfulMessage.MessageBuilder messageCode(Integer code){
        return new RESTfulMessage.MessageBuilder(code);
    }

    private static  RESTfulMessage.MessageBuilder messageCode(Integer code,String messgae){
        return new RESTfulMessage.MessageBuilder(code,messgae);
    }

    public static RESTfulMessage.MessageBuilder success(){
        return messageCode(Integer.valueOf(1),"success");
    }

    public static RESTfulMessage.MessageBuilder error(){
        return messageCode(Integer.valueOf(0),"error");
    }

    public RESTfulMessage(RESTfulMessage.MessageBuilder builder){
        if(builder.code!=null){
            this.code=builder.code;;
        }
        if(builder.messgae!=null){
            this.message=builder.messgae;
        }
        if(builder.data!=null){
            this.data=data;
        }
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    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;
    }
}

 在spring-web 为4.2.0 的时候就可以使用

例如

package com.wonder;

import Util.RESTfulMessage;
import org.apache.log4j.Logger;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;

import org.apache.log4j.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * Created by Guozhijie on 2016/9/10.
 */
@Controller
@RequestMapping("app/user")
public class LoginController {
    private static Logger logger=Logger.getLogger(LoginController.class);
    @RequestMapping("/login/{username}/{pwd}")
    public ResponseEntity<RESTfulMessage> login(@PathVariable("username") String username){

        return ResponseEntity.ok().body(RESTfulMessage.success().data(true).message("登录成功").build());
    }

}

相关推荐