对开发接口服务的一些总结

 

博主之前做过恒丰银行代收付系统(相当于支付接口),包括现在的oltpapi交易接口和虚拟业务的对外提供数据接口。总之,当你做了很多项目写了很多代码的时候,就需要回过头来,多总结总结,这样你会看到更多之前写代码的时候看不到的东西,也能更明白为什么要这样做。

做接口需要考虑的问题

     什么是接口

接口无非就是客户端请求你的接口地址,并传入一堆该接口定义好的参数,通过接口自身的逻辑处理,返回接口约定好的数据以及相应的数据格式。

    接口怎么开发

接口由于本身的性质,由于和合作方对接数据,所以有以下几点需要在开发的时候注意:

  1. 定义接口入参:写好接口文档
  2. 定义接口返回数据类型:一般都需要封装成一定格式,确定返回json还是xml报文等

         

   见如下返回数据定义格式:

package com.caiex.vb.model;

import java.io.Serializable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Result", propOrder = { "resultCode", "resultMsg" })
public class Result implements Serializable {
	private static final long serialVersionUID = 10L;
	protected int resultCode;
	protected String resultMsg;

	public int getResultCode() {
		return this.resultCode;
	}

	public void setResultCode(int value) {
		this.resultCode = value;
	}

	public String getResultMsg() {
		return this.resultMsg;
	}

	public void setResultMsg(String value) {
		this.resultMsg = value;
	}
}

 

package com.caiex.vb.model;

import java.io.Serializable;

public class Response implements Serializable {

	private static final long serialVersionUID = 2360867989280235575L;

	private Result result;
	
	private Object data;

	public Result getResult() {
		if (this.result == null) {
			this.result = new Result();
		}
		return result;
	}

	public void setResult(Result result) {
		this.result = result;
	}

	public Object getData() {
		return data;
	}

	public void setData(Object data) {
		this.data = data;
	}

}

  3.确定访问接口的方式,get or post等等,可以根据restful接口定义规则RESTful API:RESTful API

  4.定义一套全局统一并通用的返回码,以帮助排查问题;

   

////////////////////////////////////  reponse code
	public static int NO_AGENT_RATE = 1119;  //未找到兑换率
	
	public static int SCHEME_COMMIT_FAIL = 4000;  //方案提交失败
	
	public static int SCHEME_CONFIRMATION = 4001;  //方案确认中
	
	public static int SCHEME_NOT_EXIST = 4002;  //方案不存在
	
	public static int SCHEME_CANCEL= 4005;  //方案不存在
	
	//。。。。

  5.统一的异常处理:应该每个系统都需要一套统一的异常处理

package com.caiex.vb.interceptor;

import javax.servlet.http.HttpServletRequest;

import org.slf4j.Logger;
import
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值