欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springcloud?整合?openfeign的方法

 更新時(shí)間:2022年09月14日 10:13:23   作者:Tokey_W  
openFeign 是springcloud對(duì)Feign進(jìn)行了增強(qiáng),使得Feign支持了springmvc的注解,并整合了Ribbon和Eureka,從而讓Feign的使用更加方便,這篇文章主要介紹了springcloud?整合?openfeign,需要的朋友可以參考下

一、openfeign簡(jiǎn)介

Feign是Nefix開發(fā)的聲明式、模塊化的Http客戶端。Feign可以幫助我們更快捷、優(yōu)雅地調(diào)用Http Api。

在springclouid中使用 feign非常簡(jiǎn)單  --創(chuàng)建一個(gè)接口,并在接口中添加一些注解,代碼就完成了,F(xiàn)eign支持多種注解 

openFeign 是springcloud對(duì)Feign進(jìn)行了增強(qiáng),使得Feign支持了springmvc的注解,并整合了Ribbon和Eureka,從而讓Feign的使用更加方便

二、使用

1、依賴

 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--服務(wù)注冊(cè)與發(fā)現(xiàn)-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sofwin</groupId>
            <artifactId>springEntity</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

2、配置文件 

加入到nacos的服務(wù)中

server:
  port: 7000
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        heart-beat-interval: 1000
  application:
    name: openFeign

 3、啟動(dòng)類

package com.sofwin;
 
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
 
/**
 * @author : wentao
 * @version : 1.0
 */
@SpringBootApplication
//開啟服務(wù)注冊(cè)與發(fā)現(xiàn)
@EnableDiscoveryClient
//開啟Feign
@EnableFeignClients
public class App {
    public static void main(String[]args){
        SpringApplication.run(App.class,args);
    }
}

 4、接口

package com.sofwin.service;
 
import com.sofwin.pojo.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
/**
 * @author : wentao
 * @version : 1.0
 */
//寫的是服務(wù)端的名稱 
@FeignClient("nacos-previder")
public interface UserService {
 
    @GetMapping("/user/data")
    String getUserName();
 
    @GetMapping("/user/info/{msg}")
    //這里注意了 這個(gè)注意@PathVariable 一定要添加name或者value屬性
    String infoResful(@PathVariable(name = "msg") String msg);
 
    @GetMapping("/user/data5")
    //這里注意了 調(diào)用遠(yuǎn)程服務(wù)必須使用@RequesParam注解 并且名字與遠(yuǎn)程服務(wù)的參數(shù)名相同
    String simpleParam(@RequestParam("userName11") String userName,@RequestParam("pwd") String pwd);
 
    //其實(shí)openFeign默認(rèn)就是json的格式  這里是為了規(guī)范
    @PostMapping("user/data6")
    User getUser (@RequestBody User user);
    @DeleteMapping("user/data7")
    User getUser2 (@RequestBody User user);
    //或者我們就可以使用一個(gè)注解 將json格式改為form表單的格式發(fā)送到遠(yuǎn)程服務(wù)中
    //然后遠(yuǎn)程不用寫@RequestBody
    @PostMapping("user/data8")
    User getUser3 (@SpringQueryMap User user);
 
    //集合
    @PostMapping("user/data9")
    List<User> getList(@RequestBody User user);
}

接口中定義遠(yuǎn)程服務(wù)中的的請(qǐng)求   

使用 @FeignClien的注解    名稱是遠(yuǎn)程服務(wù)的名稱

5、controller

package com.sofwin.controller;
 
import com.sofwin.pojo.User;
import com.sofwin.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
/**
 * @author : wentao
 * @version : 1.0
 */
@RestController
@RequestMapping("/role")
public class RoleController {
 
    @Autowired
    private UserService userService;
    @GetMapping("/data")
    public String data(){
        String userName = userService.getUserName();
        return userName;
    }
    //Resful風(fēng)格
    @GetMapping("data1")
    public  String infoResful(String msg){
        String s = userService.infoResful(msg);
        return s;
    }
    //簡(jiǎn)單類型的請(qǐng)求參數(shù)
    @GetMapping("/data2")
    public  String simpleParam(String userName,String pwd){
        return  userService.simpleParam(userName,pwd);
    }
    //自定義   json字符串 或者表單形式
    @PostMapping("/data3")
    public  User getUser(User user){
        return  userService.getUser(user);
    }
    @DeleteMapping("/data4")
    public  User getUser2(User user){
        return  userService.getUser2(user);
    }
    @PostMapping("/data5")
    public  User getUser3(User user){
        return  userService.getUser3(user);
    }
    //返回結(jié)果為集合類型
    @PostMapping("/data6")
    public List<User> getList(User user){
        return  userService.getList(user);
    }
}

注意:

//其實(shí)openFeign默認(rèn)就是json的格式

到此這篇關(guān)于springcloud 整合 openfeign的文章就介紹到這了,更多相關(guān)springcloud 整合 openfeign內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring如何基于Proxy及cglib實(shí)現(xiàn)動(dòng)態(tài)代理

    Spring如何基于Proxy及cglib實(shí)現(xiàn)動(dòng)態(tài)代理

    這篇文章主要介紹了Spring如何基于Proxy及cglib實(shí)現(xiàn)動(dòng)態(tài)代理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Spring?AI聊天功能開發(fā)步驟

    Spring?AI聊天功能開發(fā)步驟

    本文給大家介紹Spring?AI聊天功能開發(fā)步驟,首先引入依賴,繼承父版本的springboot依賴,最好是比較新的依賴,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • GC參考手冊(cè)jvm垃圾回收詳解

    GC參考手冊(cè)jvm垃圾回收詳解

    顧名思義,垃圾收集(Garbage?Collection)的意思就是?——?找到垃圾并進(jìn)行清理。但現(xiàn)有的垃圾收集實(shí)現(xiàn)卻恰恰相反:?垃圾收集器跟蹤所有正在使用的對(duì)象,并把其余部分當(dāng)做垃圾。記住這一點(diǎn)以后,?我們?cè)偕钊胫v解內(nèi)存自動(dòng)回收的原理,探究?JVM?中垃圾收集的具體實(shí)現(xiàn)
    2022-01-01
  • 使用JavaIO流和網(wǎng)絡(luò)制作一個(gè)簡(jiǎn)單的圖片爬蟲

    使用JavaIO流和網(wǎng)絡(luò)制作一個(gè)簡(jiǎn)單的圖片爬蟲

    這篇文章主要介紹了使用JavaIO流和網(wǎng)絡(luò)制作一個(gè)簡(jiǎn)單的圖片爬蟲,通過(guò)關(guān)鍵字爬取百度圖片,這個(gè)和我們使用搜索引擎搜索百度圖片是一樣的,只是通過(guò)爬蟲可以學(xué)習(xí)技術(shù)的使用,需要的朋友可以參考下
    2023-04-04
  • Java中ArrayList的使用詳細(xì)介紹

    Java中ArrayList的使用詳細(xì)介紹

    這篇文章主要介紹了Java中ArrayList的使用,本文給大家詳細(xì)講述該相關(guān)的知識(shí)點(diǎn),并且會(huì)通過(guò)大量的案例加以說(shuō)明,需要的朋友可以參考一下
    2022-04-04
  • Java通過(guò)反射機(jī)制將對(duì)象封裝成JSON和JsonArray格式

    Java通過(guò)反射機(jī)制將對(duì)象封裝成JSON和JsonArray格式

    這篇文章主要介紹了Java通過(guò)反射機(jī)制將對(duì)象封裝成JSON和JsonArray格式,JAVA反射機(jī)制是在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)實(shí)體類,都能夠知道這個(gè)類的所有屬性和方法,需要的朋友可以參考下
    2023-10-10
  • BufferedInputStream(緩沖輸入流)詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    BufferedInputStream(緩沖輸入流)詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了BufferedInputStream緩沖輸入流的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 全面了解Java中的內(nèi)部類和匿名類

    全面了解Java中的內(nèi)部類和匿名類

    下面小編就為大家?guī)?lái)一篇全面了解Java中的內(nèi)部類和匿名類。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-07
  • JavaWeb實(shí)現(xiàn)文件上傳與下載的方法

    JavaWeb實(shí)現(xiàn)文件上傳與下載的方法

    這篇文章主要介紹了JavaWeb實(shí)現(xiàn)文件上傳與下載的方法的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Java Socket聊天室編程(二)之利用socket實(shí)現(xiàn)單聊聊天室

    Java Socket聊天室編程(二)之利用socket實(shí)現(xiàn)單聊聊天室

    這篇文章主要介紹了Java Socket聊天室編程(二)之利用socket實(shí)現(xiàn)單聊聊天室的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09

最新評(píng)論