销售端作用:
用于与第三方交互的门户网关,这里进行安全控制,流量统计等,整合内部资源,对外提供相应的接口,完成产品的销售管理
功能:
- 产品查询
- 申购、赎回
- 对账
接口文档:
- swagger
- swagger编写
- 已有代码生成接口文档
主要步骤
- 在api模块中定义产品相关的rpc请求服务和请求对象
- 在manager中的rpc包下实现api模块中的服务类
- 在manager中的configuration包下实现RpcConfiguration将rpc相关配置交给spring管理
常见错误:
在配置类中对应的配置内容未添加@Bean
application.yml中url的配置末尾要加/,Json
@JsonRpcService("rpc/products") //这里不能以/开始 例如 /products这是错误的(这里可以通过自己封装来配置)
序列化和反序列化问题
Cannot determine embedded database driver class for database type NONE
产品查询功能
使用jsonrpc实现系统内部之间的交互
使用jsonrpc4j框架来实现jsonrpc
引入依赖
产品相关rpc封装成一个类
package com.qwl.api.domain;
import org.springframework.data.domain.Pageable;
import java.math.BigDecimal;
import java.util.List;
/**
* 产品相关rpc请求对象
*/
public class ProductRpcReq {
private List<String> idList;
private BigDecimal minRewardRate;
private BigDecimal maxRewardRate;
private List<String> statusList;
private Pageable pageable;
//get set toString
}
产品相关rpc服务
import com.googlecode.jsonrpc4j.JsonRpcService;
import com.qwl.api.domain.ProductRpcReq;
import com.qwl.entity.Product;
import org.springframework.data.domain.Page;
@JsonRpcService("rpc/products")
public interface ProductRpc {
//查询多个产品
Page<Product> query(ProductRpcReq req);
//查询单个产品
Product findOne(String id);
}
rpc管理端
在管理端添加依赖
compile project(":api")
rpc服务实现类