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

SpringBoot實現(xiàn)接口統(tǒng)一前綴

 更新時間:2023年07月25日 10:08:15   作者:catoop  
本文主要介紹了SpringBoot實現(xiàn)接口統(tǒng)一前綴,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

需求

需求如題,想給一個 spring boot 項目的所有請求路徑添加統(tǒng)一前綴,可以通過 context-path 來配置。但是在同時存在靜態(tài)資源和 Controller 接口的項目中,如果希望靜態(tài)資源從根路徑訪問,并且所有接口擁有統(tǒng)一路徑前綴,則需要通過 Spring 層面來解決這個問題(context-path 是 web 容器層面的,如果配置它則會把靜態(tài)資源都包含進(jìn)去)。

如下接口示例:

# 3個靜態(tài)資源
http://localhost:8080/index.html
http://localhost:8080/home.js
http://localhost:8080/dog.png

# 3個統(tǒng)一前綴為 /api
http://localhost:8080/api/test/show
http://localhost:8080/api/test/display
http://localhost:8080/api/test/print

如上URL示例中,希望放在 springboot 根目錄 static 中的靜態(tài)資源能直接通過根路徑訪問。其他 Controller 接口的前綴 “/api” 可以在配置文件中自定義配置變更。

實現(xiàn)

實現(xiàn)方法很簡單,如下代碼和配置文件:

1、GlobalControllerPathPrefixConfiguration.java

package com.example.demospringbean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
?* 為 Controller 接口配置統(tǒng)一前綴
?*
?* @author shanhy
?* @date 2023-03-20 15:50
?*/
@Configuration
public class GlobalControllerPathPrefixConfiguration implements WebMvcConfigurer {
? ? @Value("${spring.controller.path-prefix:}")
? ? private String pathPrefix;
? ? @Override
? ? public void configurePathMatch(PathMatchConfigurer configurer) {
? ? ? ? configurer.addPathPrefix(pathPrefix, c -> c.isAnnotationPresent(RestController.class));
? ? }
}

2、application.properties

spring.controller.path-prefix=/api

配置文件中參數(shù) spring.controller.path-prefix 也可以是多級路徑,例如 /api/demo。

3、TestController.java

/**
 * 接口示例
 * 
 * @author shanhy
 * @date 2023-03-20 15:49
 */
@RestController
@RequestMapping("/test")
public class TestController {
    @GetMapping("/show")
    public String show(){
        return "OK";
    }
}

最后將 dog.png 放在 springboot 項目的 static 目錄中用來測試。

驗證

打開瀏覽器分別訪問如下路徑可以正常顯示結(jié)果,表示成功。

http://localhost:8080/dog.png
http://localhost:8080/api/test/show

到此這篇關(guān)于SpringBoot實現(xiàn)接口統(tǒng)一前綴的文章就介紹到這了,更多相關(guān)SpringBoot 接口統(tǒng)一前綴內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java基礎(chǔ)學(xué)習(xí)之字符緩沖流的應(yīng)用

    Java基礎(chǔ)學(xué)習(xí)之字符緩沖流的應(yīng)用

    這篇文章主要為大家詳細(xì)介紹了Java基礎(chǔ)中的字符緩沖流的相關(guān)應(yīng)用,例如復(fù)制Java文件等,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一
    2022-09-09
  • 如何理解SpringMVC

    如何理解SpringMVC

    Spring Web MVC是一種基于Java的實現(xiàn)了Web MVC設(shè)計模式的請求驅(qū)動類型的輕量級Web框架,即使用了MVC架構(gòu)模式的思想,將web層進(jìn)行職責(zé)解耦,基于請求驅(qū)動指的就是使用請求-響應(yīng)模型,框架的目的就是幫助我們簡化開發(fā)
    2021-06-06
  • Hibernate實現(xiàn)悲觀鎖和樂觀鎖代碼介紹

    Hibernate實現(xiàn)悲觀鎖和樂觀鎖代碼介紹

    這篇文章主要介紹了Hibernate實現(xiàn)悲觀鎖和樂觀鎖的有關(guān)內(nèi)容,涉及hibernate的隔離機(jī)制,以及實現(xiàn)悲觀鎖和樂觀鎖的代碼實現(xiàn),需要的朋友可以了解下。
    2017-09-09
  • Java請求調(diào)用參數(shù)格式為form-data類型的接口代碼示例

    Java請求調(diào)用參數(shù)格式為form-data類型的接口代碼示例

    這篇文章主要給大家介紹了關(guān)于Java請求調(diào)用參數(shù)格式為form-data類型的接口的相關(guān)資料,文中給出了詳細(xì)的代碼示例,對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • RocketMQ消息積壓原因及處理方法

    RocketMQ消息積壓原因及處理方法

    RocketMQ是一種可靠的、可擴(kuò)展的消息中間件,廣泛應(yīng)用于分布式系統(tǒng)中的消息通信,然而,在高并發(fā)的場景下,由于消息產(chǎn)生速度超過消費(fèi)速度,可能會導(dǎo)致消息積壓的問題,本文將介紹RocketMQ消息積壓的原因和如何處理積壓問題
    2023-06-06
  • Java OpenCV圖像處理之圖形與文字繪制

    Java OpenCV圖像處理之圖形與文字繪制

    這篇文章主要為大家介紹了如何利益Java OpenCV實現(xiàn)在圖像上繪制文字與形狀,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動手試一試
    2022-02-02
  • gataway斷言工作流程源碼剖析

    gataway斷言工作流程源碼剖析

    這篇文章主要為大家介紹了gataway斷言工作流程源碼剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Spring Bean六種作用域的適用場景和使用方式

    Spring Bean六種作用域的適用場景和使用方式

    本文主要介紹了Spring Bean六種作用域的適用場景和使用方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 詳解spring中的Aware接口功能

    詳解spring中的Aware接口功能

    Spring的依賴注入的最大亮點是所有的Bean對Spring容器的存在是沒有意識的,我們可以將Spring容器換成其他的容器,Spring容器中的Bean的耦合度因此也是極低的,本文重點給大家介紹spring中的Aware接口,感興趣的朋友一起看看吧
    2022-02-02
  • jmeter實現(xiàn)接口關(guān)聯(lián)的兩種方式(正則表達(dá)式提取器和json提取器)

    jmeter實現(xiàn)接口關(guān)聯(lián)的兩種方式(正則表達(dá)式提取器和json提取器)

    Jmeter用于接口測試時,后一個接口經(jīng)常需要用到前一次接口返回的結(jié)果,本文主要介紹了jmeter實現(xiàn)接口關(guān)聯(lián)的兩種方式,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論