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

Java中?springcloud.openfeign應(yīng)用案例解析

 更新時間:2024年06月18日 10:54:15   作者:被程序耽誤的胡先生  
使用OpenFeign能讓編寫Web?Service客戶端更加簡單,使用時只需定義服務(wù)接口,然后在上面添加注解,OpenFeign也支持可拔插式的編碼和解碼器,這篇文章主要介紹了Java中?springcloud.openfeign應(yīng)用案例解析,需要的朋友可以參考下

OpenFeign是一個顯示聲明式的WebService客戶端。使用OpenFeign能讓編寫Web Service客戶端更加簡單。使用時只需定義服務(wù)接口,然后在上面添加注解。OpenFeign也支持可拔插式的編碼和解碼器。spring cloud對feign進行了封裝,使其支持MVC注解和HttpMessageConverts。和eureka(服務(wù)注冊中心)和ribbon組合可以實現(xiàn)負載均衡。在Spring Cloud中使用OpenFeign,可以做到使用HTTP請求訪問遠程服務(wù),就像調(diào)用本地方法一樣的,開發(fā)者完全感知不到這是在調(diào)用遠程方法,更感知不到在訪問HTTP請求,非常的方便。

1 導入依賴

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
    <version>3.1.7</version>
</dependency>

2  openfeign接口類編寫

package com.sf.gis.taskmanage.event.feign;
import com.alibaba.fastjson.JSONObject;
import com.sf.gis.common.domain.dto.*;
import com.sf.gis.common.domain.vo.*;
import feign.Response;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@FeignClient(contextId = "eventAllocationNewServiceFegin", name = "eventAllocationNewServiceFegin", url = "${newevent.prefixurl}")  
public interface EventAllocationNewService {
    /**
     * 1. POST 獲取工單號
     * @param dto
     * @param token
     * @param type
     * @return
     */
    @PostMapping(value = "/order/cOrderNumberRule/getNum", consumes = "application/json", produces = "application/json")
    EventCommonsVo workOrderNumber(@RequestBody WorkOrderNumberDto dto, @RequestHeader("Authorization") String token, @RequestHeader("content-type") String type);
/*
    EventCommonVo<WorkOrderNumberVo> workOrderNumber(@RequestBody WorkOrderNumberDto dto, @RequestHeader("token") String token, @RequestHeader("content-type") String type);
*/
    /**
     * 2創(chuàng)建工單接口
     * @param dto
     * @param token
     * @param type
     * @return
     */
    @PostMapping(value = "/order/cOrderNumberInfo/create", consumes = "application/json", produces = "application/json")
    EventCommonsVo createWorkOrder(@RequestBody CreateWorkOrderDto dto, @RequestHeader("Authorization") String token, @RequestHeader("content-type") String type);
    /**
     * 3 工單流轉(zhuǎn)
     * @paramwanderAboutDto
     * @param token
     * @param type
     * @return
     */
    @PostMapping(value = "/order/cOrderCirculation/create", consumes = "application/json", produces = "application/json")
    EventCommonsVo wanderAbout(@RequestBody ReReportingDto reReportingDto, @RequestHeader("Authorization") String token, @RequestHeader("content-type") String type);
    /**
     * 工單處置信息更新接口
     * @param workOrderUpdateDto
     * @param token
     * @param type
     * @return
     */
    @PostMapping(value = "/order/cOrderNumberInfo/updateProcessInfo", consumes = "application/json", produces = "application/json")
    EventCommonVo workOrderUpdate(@RequestBody WorkOrderUpdateDto workOrderUpdateDto, @RequestHeader("Authorization") String token, @RequestHeader("Content-Type") String type);
    /**
     * 工單處置信息更新接口
     * @param
     * @param token
     * @param type
     * @return
     */
    @PostMapping("/order/cOrderNumberInfo/updateProcessInfo")
    EventCommonVo workOrderCompleteUpdate(@RequestBody WorkOrderCompleteUpdateDto workOrderCompleteUpdateDto, @RequestHeader("Authorization") String token, @RequestHeader("content-type") String type);
    /**
     * 上傳附件
     */
    @RequestMapping(method = RequestMethod.POST,consumes = MediaType.MULTIPART_FORM_DATA_VALUE,value = "/minio/upload")
    JSONObject upload(@RequestPart("file") MultipartFile file,@PathVariable("fileName") String fileName, @PathVariable("orderNum")String orderNum, @RequestHeader("Authorization") String token);
    /**
     * 附件下載
     */
    @RequestMapping(method = RequestMethod.POST,consumes = MediaType.MULTIPART_FORM_DATA_VALUE,value = "/minio/download")
    Response download(@PathVariable("filename") String filename, @PathVariable("orderNum") String orderNum, @RequestHeader("Authorization") String token);
    /**
     * 工單狀態(tài)變更接口(對接到市里)
     * @param
     * @param token
     * @param type
     * @return
     */
    @PostMapping(value = "/order/cOrderStatusChange/sendMsg", consumes = "application/json", produces = "application/json")
    EventCommonVo orderStateUpdate(@RequestBody OrderChangeDto orderChangeDto, @RequestHeader("Authorization") String token, @RequestHeader("content-type") String type);
}

3  URL 路徑定義

url = "${newevent.prefixurl}")

到此這篇關(guān)于Java中 springcloud.openfeign應(yīng)用案例解析的文章就介紹到這了,更多相關(guān)Java  springcloud.openfeign內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring通過@Lazy解決構(gòu)造方法形式的循環(huán)依賴問題

    Spring通過@Lazy解決構(gòu)造方法形式的循環(huán)依賴問題

    這篇文章主要給大家介紹了Spring如何通過@Lazy解決構(gòu)造方法形式的循環(huán)依賴問題,文中有詳細的代碼示例,對大家的學習活工作有一定的幫助,具有一定的參考價值,需要的朋友可以參考下
    2023-10-10
  • SpringBoot中整合MyBatis-Plus-Join使用聯(lián)表查詢的實現(xiàn)

    SpringBoot中整合MyBatis-Plus-Join使用聯(lián)表查詢的實現(xiàn)

    本文主要介紹了SpringBoot中整合MyBatis-Plus-Join使用聯(lián)表查詢的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Java中4種經(jīng)典限流算法講解

    Java中4種經(jīng)典限流算法講解

    本文主要介紹了Java中4種經(jīng)典限流算法講解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • IDEA?Eval?Reset?使用方法匯總

    IDEA?Eval?Reset?使用方法匯總

    本文給大家介紹了IDEA?Eval?Reset?使用方法,安裝插件包括離線安裝方式和在線安裝方式,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • Java INPUTSTREAM如何實現(xiàn)重復使用

    Java INPUTSTREAM如何實現(xiàn)重復使用

    這篇文章主要介紹了Java INPUTSTREAM如何實現(xiàn)重復使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • Maven多模塊及version修改的實現(xiàn)方法

    Maven多模塊及version修改的實現(xiàn)方法

    這篇文章主要介紹了Maven多模塊及version修改的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • Java中使用JDBC操作數(shù)據(jù)庫簡單實例

    Java中使用JDBC操作數(shù)據(jù)庫簡單實例

    這篇文章主要介紹了Java中使用JDBC操作數(shù)據(jù)庫簡單實例,本文以Mysql為例介紹使用Java JDBC操作數(shù)據(jù)庫的6個步驟,需要的朋友可以參考下
    2015-06-06
  • java 進程是如何在Linux服務(wù)器上進行內(nèi)存分配的

    java 進程是如何在Linux服務(wù)器上進行內(nèi)存分配的

    這篇文章主要介紹了java 進程是如何在Linux服務(wù)器上進行內(nèi)存分配的,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-11-11
  • Java?Api實現(xiàn)Elasticsearch的滾動查詢功能

    Java?Api實現(xiàn)Elasticsearch的滾動查詢功能

    這篇文章主要介紹了Java?Api實現(xiàn)Elasticsearch的滾動查詢,解決ES每次只能查詢一萬條數(shù)據(jù)的問題,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • Java 數(shù)據(jù)結(jié)構(gòu)之堆的概念與應(yīng)用

    Java 數(shù)據(jù)結(jié)構(gòu)之堆的概念與應(yīng)用

    堆是一顆完全二叉樹,在這棵樹中,所有父節(jié)點都滿足大于等于其子節(jié)點的堆叫大根堆,所有父節(jié)點都滿足小于等于其子節(jié)點的堆叫小根堆,堆雖然是一顆樹,但是通常存放在一個數(shù)組中,父節(jié)點和孩子節(jié)點的父子關(guān)系通過數(shù)組下標來確定
    2021-10-10

最新評論