1: Quando vários clientes são usados, a interface Feign é extraída no frasco público. No momento, a aula de inicialização do cliente precisa digitalizar o pacote onde o Feign está localizado no frasco. Deve ser registrado na primavera e fingir ao mesmo tempo. Caso contrário, será relatado ao iniciar: "Considere definir um feijão do tipo '****** Feign' em sua configuração".
@Springbootapplication@enabetransactionManagement@Enablediscoveryclient@componentsCan (bashEpackages = {"com.lcamtech.aidis.feign", "com.lcamtech.aids.dts"})@enableFellients (BasEpackages = {"com.lcamTech.aidis.ImEngients" = "com.lcamtech.aids.dts.mapper") a classe pública Aplicativo estende o SpringBootSertLeTIlitializer {public static void main (string [] args) {springapplication.run (application.class, args); }}Pontos -chave:
@ComponentsCan (BasEpackages = {"com.lcamtech.aidis.feign", "com.lcamtech.aids.dts"})@enableFeignClients (BasEpackages = {"com.lcamtech.aidis.feign"})O pacote da AIDIS é um frasco que contém Feign. Neste momento, o @ComponentsCan também precisa digitalizar o pacote deste projeto ao mesmo tempo.
2: Ao usar o fegin para passar o valor, se torna postagem
@FeignClient (Value = "Service-Nome") Public Interface UserAccountFeign {@RequestMapping (value = "/ac/exist", Method = requestMethod.get) public baseresult isexist (@RequestParam ("Mobile") String móvel);}Quando o FEIGN for aprovado, os dados serão colocados no pedido de solicitação por padrão, para que isso faça com que a solicitação de postagem padrão (é inútil escrever Get in Time. Nesse momento, o @RequestParam precisa ser declarado na lista de parâmetros para fazer solicitações normais de obter.
3: Quando a solicitação Feign retorna um objeto complexo
como:
Resultado da classe pública {Código de String Private; mensagem de string privada; dados de objetos privados; // get/set}Descrição do problema: Quando a solicitação retornar um objeto de resultado, o valor dos dados dentro do objeto se tornará um LinkedHashmap e não será convertido no objeto de classe correspondente. Se a transferência for diretamente forçada, o erro de tipo será relatado.
Solução 1: Conversão simples
/** * @Description: Converta dados para o contêiner correspondente * @param bean * @param clazz * @return * @throws * @author sunf * @date 2018/6/20 10:28 */public static <t> t convertvalue (objeto bean, classe <t> clazz) {tentativa {objectMapper retornar mapper.ConvertValue (Bean, Clazz); } catch (Exceção e) {log.error ("Conversão de erro: beanutil.convertvalue () --->" + e.getMessage ()); retornar nulo; }}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.