مقدمة للتظاهر
Feign هو عميل خدمة ويب معلن ، مما يسهل كتابة عميل خدمة ويب. استخدم Feign لإنشاء واجهة والتعليق عليها. لديها دعم توضيحي قابل للتوصيل ، بما في ذلك التعليقات التوضيحية المثيرة وتوضيح Jax-RS. يدعم Feign أيضًا تشفير ودلافير قابل للترميز. سحابة الربيع تضيف التعليق التوضيحي إلى الربيع MVC. يستخدم Spring Web HTTPMESSAGECONVERTS افتراضيًا ، ودمج Spring Cloud مع عميل HTTP المتوازن الذي يوفره RIBBON و EUREKA.
عميل الراحة التصريبية: Feign
أولاً ، ابدأ مشروع eureka_register_service (مركز التسجيل) ومشروع Biz-Service-0 (منتج الخدمة)
إنشاء مشروع maven eureka_feign_client
pom.xml
<Arnal> <roupiD> org.springframework.boot </rougeid> <insifactid> Spring-boot-starter-parent </shintifactid> <الإصدار> 1.4.3 -> </parent> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <java.version> 1.8 </java.version> </sperties> <rependencies> <eredency> <roupiD> org.springframework.cloud </sullected> <StifactId> spring-cloud-starter-feign </stifactid> </sependency> <reperency> <roupiD> org.springframework.cloud </groupiD> <Stifactid> spring-cloud-starter-eureka </stifactid> <StifactId> Spring-Boot-Starter-Web </stifactid> </sependency> <reperence> <roupiD> org.springframework.boot </rougeid> <StifactId> spring-boot-starter-test </stifactid> <Groper> org.springframework.cloud </rougiD> <StifactId> تعتمد على السحابة النابضة </insifactid> <splection> brixton.sr5 </version> <type> pom </type> <scope> استيراد <//تبعية> </تبعية> التبعية
تمكين وظيفة FEIGN من خلال enablefeignclients شرح في فئة التطبيق الرئيسية
ابدأ الملف feignapplication.java
@springbootapplication@enableScoveryClient@enablefeignclientspublic class feignapplication {public static void main (string [] args) {springapplication.run (feignapplication.class ، args) ؛ }}تحديد فئة واجهة الخدمة userclient.java
استخدم التعليق التوضيحي feignclient ("Biz-Service-0") لربط خدمة Biz-Service-0 المقابلة لهذه الواجهة
@dignclient ("biz-service-0") واجهة عامة userClient {requestMapping (method = requestMethod.get ، value = "/getUser") المستخدم العام getUserInfo () ؛ requestmapping (method = requestMethod.get ، value = "/getUser") السلسلة العامة getUserInfoStr () ؛ requestmapping (method = requestMethod.get ، value = "/info") info info info () ؛}اتصل بـ UserController المحدد أعلاه في طبقة الويب ، على النحو التالي
RestControllerPublic Class USERCONTROLLER requestmapping (value = "/getUserInfo" ، method = requestMethod.get) المستخدم العام getUserInfo () {return userClient.getuserInfo () ؛ } @requestmapping (value = "/getUserInfoStr" ، method = requestMethod.get) السلسلة العامة getUserInfoStr () {return userclient.getuserInfoStr () ؛ } @requestmapping (value = "/info" ، method = requestMethod.get) info info () {return userclient.info () ؛ }} Application.Properties متغيرات التكوين
spring.application.name = feign-consumerserver.port = 8004eureka.client.serviceurl.defaultzone = http: // localhost: 8000/eureka/
تفضل بزيارة http://127.0.0.1:8004/getuserinfo
تلخيص:
في الواقع ، يتم تغليف طريقة خدمة مكالمات HTTP من خلال Feign ، بحيث يستدعي العميل الطريقة مباشرة مثل استدعاء طريقة محلية. على غرار طريقة تعريض الخدمات عن بُعد في Dubbo ، فإن الفرق هو أن Dubbo يعتمد على بروتوكول ثنائي خاص ، في حين أن Feign هو في الأساس عميل HTTP.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.