@chenpbh
2017-05-21T02:57:33.000000Z
字数 6245
阅读 815
接口 开发 指南
变更历史
| 版本 | 日期 | 人员 | 变更内容 |
|---|---|---|---|
| 1.0 | 2017-05-20 | 陈鹏 | 版本初定义 |
为了规范公司的开放接口开发工作,针对性开发了此开发框架及相关的注册和管理平台,此框架主要有如下几个特点:

http://192.168.2.21:9009/admin/login,用户名:admin,密码:123456

点击应用管理的栏目,新增一个应用。

记住应用编码,在开发接口时要用到。

到此,简单的maven工程创建完成。
我们要在pom.xml增加相应的依赖,以支持接口的开发工作。
<repositories><repository><id>nexus</id><name>Team Nexus Repository</name><url>http://218.205.184.127:8081/nexus/content/groups/public</url></repository></repositories>
<parent><groupId>com.bitnei.cloud</groupId><artifactId>spring-boot-bitnei</artifactId><version>1.0.0-9.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent>
<dependency><groupId>com.bitnei.cloud</groupId><artifactId>spring-boot-api-client</artifactId><version>1.0.0-29.RELEASE</version></dependency><dependency><groupId>com.bitnei.cloud</groupId><artifactId>spring-boot-api-core</artifactId><version>1.0.0-24.RELEASE</version></dependency>
到此,maven配置完成,完整的maven配置如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.bitnei.cloud.api</groupId><artifactId>HelloWorld</artifactId><version>1.0.0-0-RELEASE</version><packaging>jar</packaging><name>HelloWorld</name><url>http://maven.apache.org</url><parent><groupId>com.bitnei.cloud</groupId><artifactId>spring-boot-bitnei</artifactId><version>1.0.0-9.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></properties><repositories><repository><id>nexus</id><name>Team Nexus Repository</name><url>http://218.205.184.127:8081/nexus/content/groups/public</url></repository></repositories><dependencies><dependency><groupId>com.bitnei.cloud</groupId><artifactId>spring-boot-api-client</artifactId><version>1.0.0-29.RELEASE</version></dependency><dependency><groupId>com.bitnei.cloud</groupId><artifactId>spring-boot-api-core</artifactId><version>1.0.0-24.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies></project>


# dev一般代表开发环境,test代表测试环境,prod代表生产环境spring:profiles:active: dev
server:port: 7979 # 服务器端口spring:api:pattern: /** #接口接口的匹配路径,一般此项不用作变动code: MY_HELLO_WORLD #对应 2.1 新增应用的编码center:url: http://192.168.2.21:9009 #注册中心地址
### set log levels ###log4j.rootLogger = INFO,A1,D,Elog4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.Target=System.outlog4j.appender.A1.Encoding=UTF-8log4j.appender.A1.layout=org.apache.log4j.PatternLayoutlog4j.appender.A1.layout.ConversionPattern=%-d{MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%nlog4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File= logs/debug.loglog4j.appender.D.DatePattern=yyyy-MM-dd'.log'log4j.appender.D.Append = truelog4j.appender.D.Encoding=UTF-8log4j.appender.D.Threshold = DEBUGlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%nlog4j.appender.E = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File = logs/error.loglog4j.appender.E.DatePattern=yyyy-MM-dd'.log'log4j.appender.E.Append = truelog4j.appender.E.Encoding=UTF-8log4j.appender.E.Threshold = ERRORlog4j.appender.E.layout = org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern = %-d{MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
import com.bitnei.cloud.core.util.SpringContextUtil;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.ComponentScan;import org.springframework.scheduling.annotation.EnableScheduling;/*** Hello world!**/@SpringBootApplication@ComponentScan(basePackages={"com.bitnei"})@EnableSchedulingpublic class App {public static void main(String[] args) {SpringContextUtil.ctx = SpringApplication.run(App.class, args);}}
package com.bitnei.cloud.api.web;import com.bitnei.cloud.api.client.annotion.Api;import com.bitnei.cloud.core.bean.ResultMsg;import com.bitnei.cloud.core.util.HttpUtil;import org.apache.log4j.Logger;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import java.util.Map;/*** Created by chenp on 2017-05-21.*/@Controller@RequestMapping(value = "/my")public class HelloWorldController {private final Logger logger = Logger.getLogger(getClass());@PostMapping(value = "/helloWorld")@Api(name = "Hello World",code = "HELLO_WORLD",version = "1.0",url = "/my/helloWorld",orderNum = "1",note = "我的第一个Hello World接口")public ResultMsg helloWorld(@RequestBody String body ){ResultMsg resultMsg = new ResultMsg();try {//获取请求参数Map<String,String> requestMap = HttpUtil.parseBody(body,Map.class);//接口传递了一个name的参数String name = requestMap.get("name");String str = "Hello World,My Name is "+ name;//打包组装为Result结构resultMsg = HttpUtil.serializeResp(str);}catch (Exception e){logger.error("ERROR", e);resultMsg.setCode(1003);resultMsg.setMsg("参数不合法或服务异常");}return resultMsg;}}


此控制台出现以上信息,即表示接口注册成功。
登录接口管理平台,我们在应用管理可以看到应用心跳时间及接口列表
