Commit 6cd68086 by huluobin

# 更新

parent 242d3017
## 百伦api # 百伦api
封装所有Java项目需要用到的第三方服务和内部异构(.NET)服务的接口调用 封装所有Java项目需要用到的第三方服务和内部异构(.NET)服务的接口调用
### 如何使用 ## 如何使用
- 继承parent - 继承parent
```xml ```xml
<parent> <parent>
...@@ -54,12 +54,12 @@ class PamsApiTest { ...@@ -54,12 +54,12 @@ class PamsApiTest {
} }
``` ```
### 技术栈 ## 技术栈
- pring-cloud-starter-openfeign 通过feign封装Api,以二方库形式提供能力,消费方通过接口方法调用 - pring-cloud-starter-openfeign 通过feign封装Api,以二方库形式提供能力,消费方通过接口方法调用
- spring-cloud-starter-netflix-hystrix hystrix 提供熔断能力 - spring-cloud-starter-netflix-hystrix hystrix 提供熔断能力
- jackson spring默认jackson作为序列化框架 - jackson spring默认jackson作为序列化框架
### 项目目录 ## 项目目录
``` ```
└── com └── com
└── bailuntec └── bailuntec
...@@ -86,14 +86,14 @@ class PamsApiTest { ...@@ -86,14 +86,14 @@ class PamsApiTest {
``` ```
### 如何开发 ## 如何开发
#### 创建feign接口 ### 创建feign接口
- 创建SpringMvc风格的接口 - 创建SpringMvc风格的接口
- 注解@FeignClient 指定name 和地址url - 注解@FeignClient 指定name 和地址url
- @GetMapping @PostMapping 用法同springMvc - @GetMapping @PostMapping 用法同springMvc
- @RequestBody @RequestParam @PathVariable 用法同springMvc - @RequestBody @RequestParam @PathVariable 用法同springMvc
#### 熔断 ### 熔断
- 创建熔断类继承feign接口实现熔断逻辑 - 创建熔断类继承feign接口实现熔断逻辑
- 熔断配置 @FeignClient fallback = 熔断类 - 熔断配置 @FeignClient fallback = 熔断类
...@@ -132,20 +132,30 @@ public interface SsoApi { ...@@ -132,20 +132,30 @@ public interface SsoApi {
} }
} }
``` ```
#### 命名规范 ### 打包
```shell script
mvn clean package
```
### 发布
```shell script
mvn deploy
```
## 命名规范
- 入参定义:方法名+Req 。 - 入参定义:方法名+Req 。
- 出参定义:方法名+Resp。 - 出参定义:方法名+Resp。
- api定义接口按照项目接口分类 - api定义接口按照项目接口分类
#### 注意事项 ## 注意事项
- @RequestParam 需要显示指定value - @RequestParam 需要显示指定value
- 有一些三方服务的api返回的不是规范json不能直接序列化 需要用string接然后再代码转换。 - 有一些三方服务的api返回的不是规范json不能直接序列化 需要用string接然后再代码转换。
- 该类库只是对异构内部服务(主要是.Net)和三方接口的外部接口调用抽象,所以不存在feign的服务调用负载等, - 该类库只是对异构内部服务(主要是.Net)和三方接口的外部接口调用抽象,所以不存在feign的服务调用负载等,
统一通过@FeignClient的url参数直接指定调用地址。 统一通过@FeignClient的url参数直接指定调用地址。
#### 待扩展 ## 待扩展
kubernetes 云原生扩展 kubernetes 云原生扩展
### 参考文档 ## 参考文档
[open feign官方文档](https://docs.spring.io/spring-cloud-openfeign/docs/2.2.5.RELEASE/reference/html/) [open feign官方文档](https://docs.spring.io/spring-cloud-openfeign/docs/2.2.5.RELEASE/reference/html/)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment