`
天空晴朗
  • 浏览: 26984 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

定义一个http restful服务返回值工具包

阅读更多

多系统之间通讯现在最常用的是使用标准的http服务,如:restful,定义企业通用的数据格式。怎样定义一个标准,定义一种编码规范,让所有的开发者遵循这个标准?  结合我们公司服务返回数据的格式,自己写了一个通用的工具类,有兴趣的朋友可以使用一下。

 

1. 定义一个ResponseVO对象,代码如下:

 

 

public class ResponseVO {
	//状态码
	private int code;
	//返回消息
	private String message;
	//版本号
	private String version = "v1.0";
	//data对象
	private Object data;
	
	public String getVersion() {
		return version;
	}
	public void setVersion(String version) {
		this.version = version;
	}
	public int getCode() {
		return code;
	}
	public void setCode(int 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;
	}
	public ResponseVO() {
		super();
	}
	public ResponseVO(int code, String message, Object data) {
		super();
		this.code = code;
		this.message = message;
		this.data = data;
	}
}

 

 

2. 定义标准的ResponseCode,代码如下:

/**
 * 公共服务响应状态码
 * @author ant
 *
 */
public enum ResponseCode {
	RESPONSE_CODE_FAILURE(10000,"请求失败、结果处理失败"),
	RESPONSE_CODE_SUCCESS(10001,"请求成功、结果处理成功"),
	RESPONSE_CODE_PARAM_FORMAT_ERROR(10002,"请求失败、参数格式错误"),
	RESPONSE_CODE_PARAM_ERROR(10003,"参数错误"),
	RESPONSE_CODE_REQ_CANNOT_EMPTY(10004,"必要的请求参数不能为空"),
	RESPONSE_CODE_USER_DOES_NOT_EXIST(10005,"用户不存在"),
	RESPONSE_CODE_QUERY_SUCCESS(10006,"数据查询成功"),
	RESPONSE_CODE_QUERY_NO_DATA(10007,"无数据或者结果"),
	USER_LOGIN_PWD_ERROR(10008,"用户名密码错误"),
	REQUEST_URL_NOT_SERVICE(10009,"访问了非服务路径"),
	RESPONSE_CODE_UNLOGIN_ERROR(421,"未登录异常"),
	RESPONSE_CODE_LOGIN_SUCCESS(200,"用户登录成功"),
	RESPONSE_CODE_NO_PERMISSION(403,"无权访问该系统"),
	RESPONSE_CODE_SYSTEM_ERROR(500,"系统内部异常"),
	RESPONSE_CODE_TIME_OUT(504,"上游服务端网关超时");
	
	private int code; //状态码  
        private String message; //返回消息
    
        // 构造方法  
        private ResponseCode(int code,String message) {  
                this.code = code;  
                this.message = message;  
        }  

	public int getCode() {
		return code;
	}

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

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}  

	public static ResponseVO buildEnumResponseVO(ResponseCode responseCode, Object data) {
		return new ResponseVO(responseCode.getCode(),responseCode.getMessage(),data);
	}
	
	public static Map<String, Object> buildReturnMap(ResponseCode responseCode, Object data) {
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("code", responseCode.getCode());
		map.put("message", responseCode.getMessage());
		map.put("data", data);
		return map;
	}	
}

 

到此完成!!

分享到:
评论

相关推荐

    springMVC搭建Restful服务

    3. **定义RESTful Controller**:创建一个Java类,用@Controller注解标记为控制器。然后,使用@RequestMapping及其子注解(@GetMapping、@PostMapping、@PutMapping、@DeleteMapping)将HTTP方法与处理方法关联起来...

    Spring4 构建RESTful服务器,输出格式是JSON

    Spring4是Spring框架的一个主要版本,它引入了多项增强功能,包括对Java 8的全面支持、改进的WebSocket支持以及对RESTful服务的进一步优化。Spring MVC作为Spring框架的一部分,负责处理HTTP请求并提供响应,它是...

    自动配置和Spring MVC来创建一个RESTful Web服务.rar

    本压缩包文件“自动配置和Spring MVC来创建一个RESTful Web服务.rar”提供了一个详细指南,教你如何利用Spring Boot和Spring MVC创建RESTful Web服务。以下是关于这些知识点的详细解释: 1. **Spring Boot**: ...

    Spring RESTful简单实例

    2. 定义RESTful接口,使用@RestController注解控制器,使用@RequestMapping及其子注解定义URL映射。 3. 编写业务服务类和服务接口,实现数据的增删改查操作。 4. 配置数据源和数据库操作相关的依赖,如JPA或MyBatis...

    RestFulDemo.zip

    这个"RestFulDemo.zip"示例是一个很好的起点,帮助初学者理解如何在C#中实现RESTful服务。通过学习和实践这个例子,你可以掌握如何使用GET和POST方法创建简单的CRUD操作,为进一步探索更复杂的RESTful设计打下基础。

    spring mvc restful service

    在Spring MVC RESTful服务中,我们需要在`pom.xml`文件中定义Spring MVC、Jackson(处理JSON)和JAXB(处理XML)等依赖。 5. **项目结构**:一个典型的Spring MVC Maven项目结构包括`src/main/java`(存放源代码)...

    SAP ABAP 通用接口日志&amp;restful 动态调用FM

    结合RESTful服务,我们可以创建一个REST API,该API接受请求,然后动态地调用后端的ABAP函数模块来处理业务逻辑。例如,我们可以设计一个接收JSON数据的POST请求,这个请求会被解析,然后通过动态调用FM执行实际的...

    restful webservice in springMVC Demo

    3. **定义资源操作**:每个RESTful服务通常对应一个或多个资源,资源的操作映射到HTTP方法。例如,使用`@GetMapping`处理GET请求,获取资源;`@PostMapping`用于创建新资源;`@PutMapping`更新已有资源;`@...

    Restful WebService + Spring

    在IT行业中,RESTful Web Service和Spring框架的集成是一个广泛使用的解决方案,特别是在构建现代、可扩展的分布式系统中。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于...

    springmvc的RESTFul实现小案例

    通过以上步骤,我们就能利用Spring MVC构建一个基础的RESTful服务。这只是一个简化的示例,实际项目中还需要考虑更多因素,如性能优化、异常处理、安全性等。通过不断学习和实践,你可以掌握更高级的RESTful设计原则...

    jersey jar包

    Jersey 是一个强大的开源RESTful服务框架,它实现了Java API for RESTful Web Services(JAX-RS)规范,包括JSR 311和JSR 339这两个版本。这个框架使得开发者能够轻松地创建和部署RESTful Web服务,从而提供基于HTTP...

    一个干净的springboot项目,已集成集成代码生成器(plus),分页插件,Knife4j(swagger2),统一返回值

    这个项目可能定义了一个通用的响应对象,包含状态码、消息和数据等字段,所有接口都遵循这个格式返回结果,这样可以提高前后端交互的效率,降低出错的可能性。 综上所述,这个项目提供了一个基础且完善的SpringBoot...

    tp5框架开发的restful API接口自动生成文档源码.zip

    而ThinkPHP5作为一个流行的PHP开发框架,为构建高效、灵活的API提供了强大的支持。 首先,我们要理解RESTful API的基本概念。REST(Representational State Transfer,表现层状态转移)是一种软件架构风格,它强调...

    SwaggerUI+SpringMVC构建RestFulAPI的可视化界面

    SwaggerUI结合SpringMVC可以创建一个强大的RESTful API的可视化界面,这使得开发者能够更方便地测试、理解和文档化他们的API。以下是对这个主题的详细解释: Swagger 是一个广泛使用的工具,它遵循OpenAPI规范,这...

    jersey服务demo

    Jersey 是一个开源的、基于 Java 的 RESTful Web 服务客户端和服务器框架,它实现了 JAX-RS(Java API for RESTful Web Services)规范。本 Demo 主要展示了如何使用 Jersey 构建一个简单的 RESTful 服务。以下是对...

    jersey相关的jar包

    Jersey是Java世界中一个流行的RESTful Web服务框架,它基于JAX-RS(Java API for RESTful Web Services)标准。这个"jersey-archive-1.8"压缩包包含了Jersey框架1.8版本的库文件,对于开发使用Jersey构建RESTful服务...

    Web Service描述语言 WSDL 详解

    - **PortTypes**:定义了服务的操作,每个操作包括一个名称、输入消息和输出消息,类似于函数签名。 2. **具体定义**: - **Bindings**:将PortTypes中定义的操作绑定到特定的传输协议和消息格式,如HTTP和SOAP。...

    在web项目中新增或者添加webservice服务

    2. **定义服务接口**:创建一个Java接口,声明服务方法。这些方法将在Web服务中暴露。 3. **实现服务接口**:编写接口的实现类,包含具体的服务逻辑。 4. **配置服务**:使用框架提供的注解(如Apache CXF的`@...

    webservice cxf 服务端客户端传递参数的例子demo

    - 定义服务接口:首先,你需要定义一个Java接口,这个接口将被用作Web服务的合同。 - 实现服务接口:接着,你需要实现该接口,提供具体的功能实现。 - 配置CXF:使用CXF提供的注解或XML配置文件,将服务接口暴露...

    C#POST请求WCF服务

    要实现C#中的POST请求,你需要创建一个客户端代理类来代表WCF服务。这可以通过使用`svcutil.exe`工具或者在Visual Studio中添加服务引用来完成。生成的代理类会包含方法,这些方法可以直接调用来调用服务的操作。 1...

Global site tag (gtag.js) - Google Analytics