1 : 여러 클라이언트를 사용하면 Feign 인터페이스가 공개 Jar로 추출됩니다. 현재 클라이언트의 스타트 업 클래스는 Feign이 JAR에있는 패키지를 스캔해야합니다. 봄에 등록되어 동시에 feign이어야합니다. 그렇지 않으면 시작할 때보고됩니다. "구성에서 '****** feign'유형의 콩을 정의하는 것을 고려하십시오."
@springbootApplication@enableTransactionManagement@enablediscoveryclient@componentscan (basepackages = { "com.lcamtech.aids.feign", "com.lcamtech.aids.dts"})@enablefeignclients (BasePackages = { "com.lcamtech.aidis.feign"})@enablecaching@mapperscan (basepackages = "com.lcamtech.aids.mapper") 공개 클래스 응용 프로그램을 확장합니다. }}핵심 사항 :
@componentscan (basepackages = { "com.lcamtech.aids.feign", "com.lcamtech.aids.dts"})@enablefeignclients (basepackages = { "com.lcamtech.aids.feign"})Aidis 패키지는 Feign을 포함하는 항아리입니다. 현재 @componentscan 도이 프로젝트의 패키지를 동시에 스캔해야합니다.
2 : Fegin을 사용하여 값을 전달하면 게시물이됩니다.
@FeignClient (value = "service-name") public 인터페이스 userAccountFeign {@requestmapping (value = "/ac/excent", method = requestmethod.get) public baseresult isexist (@requestparam ( "mobile") string mobile);}FEIGN이 통과되면 데이터가 기본적으로 요청 바이에 배치되므로 기본 게시물 요청이 발생합니다 (Get in Time을 작성하는 것은 쓸모가 없습니다. 현재 @RequestParam은 매개 변수 목록에서 정상적인 GET 요청을 만들어야합니다.
3 : Feign 요청이 복잡한 개체를 반환 할 때
좋다:
공개 클래스 결과 {개인 문자열 코드; 개인 문자열 메시지; 개인 객체 데이터; // get/set}문제 설명 : 요청이 결과 객체를 반환하면 객체 내부의 데이터 값이 LinkedHashMap이되고 해당 클래스 객체로 변환되지 않습니다. 전송이 직접 강제되면 유형 오류 가보고됩니다.
해결책 1 : 간단한 변환
/** * @description : 해당 컨테이너 * @param bean * @param clazz * @return * @throws * @author sunf * @date 2018/6/20 10:28 */public static <t> t convertValue (Object Bean, class <t> clazz) {객체 매퍼 맵퍼 = new ObjectMapper (); return mapper.convertvalue (Bean, Clazz); } catch (예외 e) {log.error ( "오류 변환 : beanutil.convertValue () --->" + e.getMessage ()); 널 리턴; }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.