ภาพรวม
ในบทความการลงทะเบียนการตรวจสอบการเรียกร้องการค้นพบบริการสปริงคลาวด์สปริงการแนะนำสั้น ๆ เกี่ยวกับวิธีการใช้ยูเรก้าและริบบิ้นในคลาวด์ฤดูใบไม้ผลิ บทความนี้ใช้ RestTemplate เพื่อเข้าถึงส่วนต่อประสาน microservice อื่น ๆ ในความเป็นจริงในสปริงคลาวด์คุณยังสามารถใช้ Feign เพื่อเข้าถึงอินเตอร์เฟส microservice อื่น ๆ มันกระชับและชัดเจนมากขึ้นในการใช้งาน
การขอร้องแบบบูรณาการ
เปลี่ยนการกำหนดค่า POM ของบริการการสั่งซื้อในการโทรลงทะเบียนบริการเรียกร้องการเรียกร้องการเรียกร้องการเรียกร้องการเรียกร้องการเรียกร้องการเรียกร้องการเรียกร้องการเรียกร้องการค้นพบ
<การพึ่งพา> <roupId> org.springframework.cloud </groupId> <ratifactid> Spring-Cloud-Starter-Feign </artifactid>
แก้ไขคลาส orderapplication และลบรหัสต่อไปนี้:
@Bean @LoadBalanced restTemplate restTemplate () {ส่งคืนใหม่ restTemplate (); -และเพิ่ม @enablefeignclient คำอธิบายประกอบ รหัสที่สมบูรณ์มีดังนี้:
แพ็คเกจ com.springboot; นำเข้า org.springframework.boot.springapplication; นำเข้า org.springframework.boot.autoconfigure.springbootapplication; นำเข้า org.springframework.cloud.client.discovery.enablecoverycovery org.springframework.cloud.netflix.feign.enablefeignclients;@enablediscoveryclient@enablefeignclients@springbootapplicationpublic class ordplication -
เพิ่มอินเตอร์เฟส userservice และใช้คำอธิบายประกอบ @feignclient
แพ็คเกจ com.springboot; นำเข้า org.springframework.cloud.netflix.feign.feignclient; นำเข้า org.springframework.web.bind.annotation.getMapping; @feignclient (ชื่อ = "ผู้ใช้") ผู้ใช้งานสาธารณะ
ชื่อ = ผู้ใช้ใน @feignClient (name = "ผู้ใช้") ที่นี่หมายความว่าคุณต้องการเข้าถึง Microservice ผู้ใช้ เนื่องจากคำสั่งซื้อ microservice ได้รวมยูเรก้าและริบบิ้น จากนั้นเมื่อใช้ @feignClient (name = "ผู้ใช้") เพื่อเข้าถึง Microservice ผู้ใช้การกำหนดเส้นทางไคลเอนต์ได้รับการสนับสนุนโดยอัตโนมัติ และผู้ใช้บริการไมโครจะพบได้ในรีจิสทรี
แก้ไข ordercontroller และฉีด Userservice
แพ็คเกจ com.springboot; นำเข้า org.springframework.beans.factory.annotation.autowired; นำเข้า org.springframework.web.bind.annotation.getMapping; นำเข้า org.springframework.web.bind.annotation.restcontroller; ผู้ใช้บริการ; @getMapping ("/getOrderUser") สตริงสาธารณะ getOrderUser () {return userservice.getUser (); -วิธีนี้ไม่จำเป็นต้องใช้มัน
RestTemplate.getForentity ("http: // user/getuser", string.class) .getBody ();เพื่อเรียกอินเทอร์เฟซ GetUser ในบริการผู้ใช้ เพียงแค่ใช้ userservice.getUser () แทน
เริ่มต้นรีจิสทรีศูนย์และบริการไมโครสองแห่งของผู้ใช้และสั่งซื้อ ใช้ http: // localhost: 8883/getorderuser
เยี่ยมชม ใช่คุณสามารถกลับมาได้
ฉันเป็นรายชื่อผู้ใช้
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น