多系统之间通讯现在最常用的是使用标准的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;
}
}
到此完成!!
相关推荐
3. **定义RESTful Controller**:创建一个Java类,用@Controller注解标记为控制器。然后,使用@RequestMapping及其子注解(@GetMapping、@PostMapping、@PutMapping、@DeleteMapping)将HTTP方法与处理方法关联起来...
Spring4是Spring框架的一个主要版本,它引入了多项增强功能,包括对Java 8的全面支持、改进的WebSocket支持以及对RESTful服务的进一步优化。Spring MVC作为Spring框架的一部分,负责处理HTTP请求并提供响应,它是...
本压缩包文件“自动配置和Spring MVC来创建一个RESTful Web服务.rar”提供了一个详细指南,教你如何利用Spring Boot和Spring MVC创建RESTful Web服务。以下是关于这些知识点的详细解释: 1. **Spring Boot**: ...
2. 定义RESTful接口,使用@RestController注解控制器,使用@RequestMapping及其子注解定义URL映射。 3. 编写业务服务类和服务接口,实现数据的增删改查操作。 4. 配置数据源和数据库操作相关的依赖,如JPA或MyBatis...
这个"RestFulDemo.zip"示例是一个很好的起点,帮助初学者理解如何在C#中实现RESTful服务。通过学习和实践这个例子,你可以掌握如何使用GET和POST方法创建简单的CRUD操作,为进一步探索更复杂的RESTful设计打下基础。
在Spring MVC RESTful服务中,我们需要在`pom.xml`文件中定义Spring MVC、Jackson(处理JSON)和JAXB(处理XML)等依赖。 5. **项目结构**:一个典型的Spring MVC Maven项目结构包括`src/main/java`(存放源代码)...
3. **定义资源操作**:每个RESTful服务通常对应一个或多个资源,资源的操作映射到HTTP方法。例如,使用`@GetMapping`处理GET请求,获取资源;`@PostMapping`用于创建新资源;`@PutMapping`更新已有资源;`@...
结合RESTful服务,我们可以创建一个REST API,该API接受请求,然后动态地调用后端的ABAP函数模块来处理业务逻辑。例如,我们可以设计一个接收JSON数据的POST请求,这个请求会被解析,然后通过动态调用FM执行实际的...
在IT行业中,RESTful Web Service和Spring框架的集成是一个广泛使用的解决方案,特别是在构建现代、可扩展的分布式系统中。REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于...
通过以上步骤,我们就能利用Spring MVC构建一个基础的RESTful服务。这只是一个简化的示例,实际项目中还需要考虑更多因素,如性能优化、异常处理、安全性等。通过不断学习和实践,你可以掌握更高级的RESTful设计原则...
Jersey 是一个强大的开源RESTful服务框架,它实现了Java API for RESTful Web Services(JAX-RS)规范,包括JSR 311和JSR 339这两个版本。这个框架使得开发者能够轻松地创建和部署RESTful Web服务,从而提供基于HTTP...
这个项目可能定义了一个通用的响应对象,包含状态码、消息和数据等字段,所有接口都遵循这个格式返回结果,这样可以提高前后端交互的效率,降低出错的可能性。 综上所述,这个项目提供了一个基础且完善的SpringBoot...
而ThinkPHP5作为一个流行的PHP开发框架,为构建高效、灵活的API提供了强大的支持。 首先,我们要理解RESTful API的基本概念。REST(Representational State Transfer,表现层状态转移)是一种软件架构风格,它强调...
SwaggerUI结合SpringMVC可以创建一个强大的RESTful API的可视化界面,这使得开发者能够更方便地测试、理解和文档化他们的API。以下是对这个主题的详细解释: Swagger 是一个广泛使用的工具,它遵循OpenAPI规范,这...
Jersey 是一个开源的、基于 Java 的 RESTful Web 服务客户端和服务器框架,它实现了 JAX-RS(Java API for RESTful Web Services)规范。本 Demo 主要展示了如何使用 Jersey 构建一个简单的 RESTful 服务。以下是对...
Jersey是Java世界中一个流行的RESTful Web服务框架,它基于JAX-RS(Java API for RESTful Web Services)标准。这个"jersey-archive-1.8"压缩包包含了Jersey框架1.8版本的库文件,对于开发使用Jersey构建RESTful服务...
- **PortTypes**:定义了服务的操作,每个操作包括一个名称、输入消息和输出消息,类似于函数签名。 2. **具体定义**: - **Bindings**:将PortTypes中定义的操作绑定到特定的传输协议和消息格式,如HTTP和SOAP。...
2. **定义服务接口**:创建一个Java接口,声明服务方法。这些方法将在Web服务中暴露。 3. **实现服务接口**:编写接口的实现类,包含具体的服务逻辑。 4. **配置服务**:使用框架提供的注解(如Apache CXF的`@...
要实现C#中的POST请求,你需要创建一个客户端代理类来代表WCF服务。这可以通过使用`svcutil.exe`工具或者在Visual Studio中添加服务引用来完成。生成的代理类会包含方法,这些方法可以直接调用来调用服务的操作。 1...
- 定义服务接口:首先,你需要定义一个Java接口,这个接口将被用作Web服务的合同。 - 实现服务接口:接着,你需要实现该接口,提供具体的功能实现。 - 配置CXF:使用CXF提供的注解或XML配置文件,将服务接口暴露...