最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot如何為web層添加統一請求前綴

 更新時間:2022年02月18日 08:48:51   作者:yzh_1346983557  
這篇文章主要介紹了springboot如何為web層添加統一請求前綴,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

如何為web層添加統一請求前綴

配置文件方式

application.properties全局配置文件配置:

server.servlet.context-path=/api

實現WebMvcConfigurer接口

重寫configurePathMatch()方法,代碼:

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {? ??
? ? /**
? ? ?* 請求路徑添加統一前綴
? ? ?*
? ? ?* @param configurer
? ? ?*/
? ? @Override
? ? public void configurePathMatch(PathMatchConfigurer configurer) {
? ? ? ? configurer.addPathPrefix("/api", c -> c.isAnnotationPresent(RestController.class) || c.isAnnotationPresent(Controller.class));
? ? }
}

上面為controller層所有都添加了統一前綴,如果不同版本想使用不同的請求前綴,可優(yōu)化如下:

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {? ??
? ? /**
? ? ?* 請求路徑添加統一前綴
? ? ?*
? ? ?* @param configurer
? ? ?*/
? ? @Override
? ? public void configurePathMatch(PathMatchConfigurer configurer) {
? ? ? ? configurer.addPathPrefix("/api", c -> c.isAnnotationPresent(ApiRestController.class))
? ? ? ? ? ? .addPathPrefix("/api/v2", c -> c.isAnnotationPresent(ApiV2RestController.class));
? ? }
}

對有 @ApiRestController 注解的 controller 添加 /api 前綴,對有@ApiV2RestController 注解的controller添加 /api/v2 前綴。

@ApiRestController 和 @ApiV2RestController 是自定義注解,繼承自 @RestController:

import org.springframework.core.annotation.AliasFor;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.lang.annotation.*;
?
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@RestController
@RequestMapping
public @interface ApiRestController {
? ? /**
? ? ?* Alias for {@link RequestMapping#name}.
? ? ?*/
? ? @AliasFor(annotation = RequestMapping.class)
? ? String name() default "";
?
? ? /**
? ? ?* Alias for {@link RequestMapping#value}.
? ? ?*/
? ? @AliasFor(annotation = RequestMapping.class)
? ? String[] value() default {};
?
? ? /**
? ? ?* Alias for {@link RequestMapping#path}.
? ? ?*/
? ? @AliasFor(annotation = RequestMapping.class)
? ? String[] path() default {};
}

使用:

@ApiRestController("/demo")
public class DemoController extends BaseController{
}

這樣請求地址就成了:http://localhost:8080/api/demo

spring web訪問頁面出現多余前綴和后綴情況

頁面中出現hello.jsp

解決方法

去掉servlet中的前綴后綴配置項

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java中HttpServletResponse響應中文出現亂碼問題

    Java中HttpServletResponse響應中文出現亂碼問題

    這篇文章主要介紹了Java中HttpServletResponse響應中文出現亂碼問題的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • Java中線程中斷的幾種方法小結

    Java中線程中斷的幾種方法小結

    在Java中,線程中斷是一種協作機制,它通過設置線程的中斷標志位來通知線程需要中斷,本文主要介紹了Java中線程中斷的幾種方法小結,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • SpringMVC如何訪問WEB-INF jsp過程解析

    SpringMVC如何訪問WEB-INF jsp過程解析

    這篇文章主要介紹了SpringMVC如何訪問WEB-INF jsp過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java中數組的定義與使用

    Java中數組的定義與使用

    下面小編就為大家?guī)硪黄猨ava中數組的定義與使用小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-10-10
  • spring boot系列之集成測試(推薦)

    spring boot系列之集成測試(推薦)

    這篇文章主要介紹了spring boot系列集成測試,需要的朋友可以參考下
    2018-03-03
  • Java中的main函數的詳細介紹

    Java中的main函數的詳細介紹

    這篇文章主要介紹了Java中的main函數的詳細介紹的相關資料,main()函數在java程序中必出現的函數,這里就講解下使用方法,需要的朋友可以參考下
    2017-09-09
  • SpringBoot管理RabbitMQ中的Channel詳解

    SpringBoot管理RabbitMQ中的Channel詳解

    這篇文章主要介紹了SpringBoot管理RabbitMQ中的Channel詳解,channel僅存在于connection的上下文中,而不會單獨存在,當channel關閉時,其上的所有channel也會關閉,需要的朋友可以參考下
    2023-08-08
  • Java的單例設計模式詳解

    Java的單例設計模式詳解

    今天小編就為大家分享一篇關于Java的單例設計模式詳解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Spring Boot讀取自定義配置文件

    Spring Boot讀取自定義配置文件

    在Spring Boot項目中我們經常需要讀取application.yml配置文件的自定義配置,今天就來羅列一下從yaml讀取配置文件的一些常用手段和方法。
    2021-05-05
  • 詳解在Spring中如何自動創(chuàng)建代理

    詳解在Spring中如何自動創(chuàng)建代理

    這篇文章主要介紹了詳解在Spring中如何自動創(chuàng)建代理,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07

最新評論

林西县| 乌兰县| 怀柔区| 饶河县| 凤山县| 凤台县| 河源市| 张家口市| 伊金霍洛旗| 旺苍县| 景宁| 松阳县| 洞口县| 区。| 奉节县| 华亭县| 晴隆县| 古丈县| 宜昌市| 青阳县| 江阴市| 九龙城区| 宁化县| 宁河县| 仲巴县| 永顺县| 越西县| 嵊泗县| 贺州市| 张家口市| 涡阳县| 阿勒泰市| 昭平县| 剑阁县| 新泰市| 麻江县| 堆龙德庆县| 平邑县| 栾川县| 乳山市| 温州市|