@chenpbh
2017-05-21T02:57:33.000000Z
字数 6245
阅读 732
接口
开发
指南
变更历史
版本 | 日期 | 人员 | 变更内容 |
---|---|---|---|
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,E
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.Target=System.out
log4j.appender.A1.Encoding=UTF-8
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File= logs/debug.log
log4j.appender.D.DatePattern=yyyy-MM-dd'.log'
log4j.appender.D.Append = true
log4j.appender.D.Encoding=UTF-8
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = logs/error.log
log4j.appender.E.DatePattern=yyyy-MM-dd'.log'
log4j.appender.E.Append = true
log4j.appender.E.Encoding=UTF-8
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.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"})
@EnableScheduling
public 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;
}
}
此控制台出现以上信息,即表示接口注册成功。
登录接口管理平台,我们在应用管理可以看到应用心跳时间及接口列表