Feign接口开发

微服务间的相互调用需要开发Feign接口。

在sofast框架中,微服务间的rpc使用Feign来实现。

SDK

Feign接口需要提供给其他工程进行调用,因此Feign接口需要对外提供包括url、入参、返回体等具体信息供其他服务直接使用,为避免重复定义,sofast规定必须开发sdk工程,其规范如下:

需要创建对应微服务的sdk

sdk中定义好接口、url常量、entity、feign的熔断处理等

调用方和被调用方同时依赖该sdk

Good:

feign_good

Feign接口实现

sdk开发好后,微服务需要依赖该sdk,并实现接口逻辑:

Good:

依赖sdk

        <dependency>
            <groupId>com.sofast.cloud</groupId>
            <artifactId>so-fast-log-sdk</artifactId>
        </dependency>

实现接口逻辑

@Slf4j
@RestController
@Api(tags = "操作日志远程调用")
public class OperatorLogFeignProvider implements IOperatorLogFeign {

    @Autowired
    IOperatorLogService iOperatorLogService;

    @ApiOperation(value = "操作日志", notes = "操作日志保存")
    @PostMapping(LogFeignConstants.FEIGN_OPERATOR_LOG)
    @Override
    public R<Boolean> save(@RequestBody OperatorLog operatorLog) {
        return R.data(iOperatorLogService.save(operatorLog));
    }
}
Copyright © 2020. 恩梯梯数据(中国)信息技术有限公司. all right reserved,powered by Gitbook该文件修订时间: 2021-03-04 10:22:22

results matching ""

    No results matching ""