package jnpf.consumers.controller;
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.Operation;
|
import jnpf.base.ActionResult;
|
import jnpf.entity.ContractEntity;
|
import jnpf.provider.example.ContractProvider;
|
import jnpf.util.ServletUtil;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.rpc.RpcContext;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* @author JNPF开发平台组
|
* @version V3.1.0
|
* @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com)
|
* @date 2021-06-21
|
*/
|
@RestController
|
@Tag(description = "Contract", name = "Contract")
|
@RequestMapping("/Consumers")
|
public class DubboConsumersController {
|
/**
|
* 使用dubbo示例
|
*/
|
@DubboReference
|
private ContractProvider contractProvider;
|
|
@Operation(summary = "使用dubbo调用,获取详情")
|
@GetMapping("/{id}")
|
public ActionResult consumers(@PathVariable("id") String id){
|
/** 不建议常规业务使用!!! */
|
/** 若有个别业务需要使用dubbo调用且携带token,使用隐式参数 */
|
//获取token
|
String token = ServletUtil.getRequest().getHeader("Authorization");
|
//传递参数 K,V
|
RpcContext.getContext().setAttachment("Authorization", token);
|
ContractEntity entity = contractProvider.getInfo(id);
|
return ActionResult.success(entity);
|
}
|
}
|