首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Spring boot中,我似乎无法从URL中删除路径扩展名

在Spring Boot中,可以通过使用Spring MVC的路径扩展名配置来实现从URL中删除路径扩展名。

首先,确保你的Spring Boot项目中已经引入了Spring MVC依赖。在pom.xml文件中添加以下依赖:

代码语言:txt
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

接下来,在你的Spring Boot应用程序的配置类中,添加以下配置:

代码语言:txt
复制
@Configuration
public class WebConfig implements WebMvcConfigurer {
    
    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        UrlPathHelper urlPathHelper = new UrlPathHelper();
        urlPathHelper.setRemoveSemicolonContent(false);
        configurer.setUrlPathHelper(urlPathHelper);
    }
    
    @Override
    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
        configurer.favorPathExtension(false);
    }
}

上述配置中,configurePathMatch方法用于禁用Spring MVC默认的URL路径解析规则,configureContentNegotiation方法用于禁用Spring MVC的内容协商机制,这样就可以实现从URL中删除路径扩展名。

现在,你可以在你的控制器中定义处理URL的方法,如下所示:

代码语言:txt
复制
@RestController
public class MyController {
    
    @GetMapping("/example")
    public String example() {
        return "Example";
    }
}

在上述示例中,@GetMapping("/example")注解定义了一个处理/example路径的GET请求的方法。当你访问/example时,将会返回字符串"Example"。

通过以上配置,你可以在Spring Boot中实现从URL中删除路径扩展名的功能。这样,当你访问/example.html时,也会调用example()方法并返回"Example"字符串。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

编写可移植性更强的程序:spring boot工程application.properties设置log4j2的日志输出路径

spring boot工程,为了灵活切换部署环境,可以把application.properties文件放到jar包外部....如果使用了log4j2作为日志框架,想在不同的部署环境上灵活log4j2的日志输出目录,可以用以下方法 1 application.properties设置logging.config来设定log4j2...配置文件的位置 2 application.properties设置logging.path,resources目录下放置log4j2-spring.xml来作为log4j2的配置文件,log4j2...-spring.xml中使用${sys:LOG_PATH}作为日志输出路径 对于logback等日志框架,也可以使用同样的方法 原文见https://docs.spring.io/spring-boot.../docs/1.5.7.RELEASE/reference/htmlsingle/#boot-features-custom-log-configuration

2.7K50
  • 轻松实现Spring Boot与FastDFS的无缝整合

    ,上篇文章了,我们讲了如何使用docker-compose快速部署fastdfs,今天的文章将向大家介绍如何将Spring Boot与FastDFS进行无缝整合,以便高效地管理和操作文件存储。...通过这个整合,你将能够轻松地Spring Boot应用程序实现文件的上传、下载等功能。...让我们开始吧 添加FastDFS依赖 首先,我们需要在Spring Boot项目的pom.xml文件添加FastDFS的依赖。...,我们介绍了如何使用Spring Boot整合FastDFS,实现了文件的上传、下载和删除等操作。...通过这个整合,你可以方便地Spring Boot应用程序管理和操作文件存储。希望这篇文章对你有所帮助,如果有任何问题或疑问,欢迎留言交流

    73030

    springboot编写一个上传接口

    Boot 有内置的文件上传限制,默认情况下,这些限制可能会影响到上传文件的大小,即使你已经自定义属性设置了 max-size。...因为我们yaml已经设置过端口号,所以这里便可以直接获取到我们的端口号7801,以便我们后续的使用 文件静态资源配置config文件 Spring Boot 默认不提供静态资源映射到文件系统的功能,...我们可以使用 Spring Boot 的静态资源配置来实现这一点。...具体来说,它设置了一个资源处理器,将文件系统的某个目录映射到 Web 应用程序的一个 URL 路径,以便能够通过 HTTP 访问这些文件。...资源处理器用于映射 URL 路径到本地文件系统的资源路径。 uploadLocation: FileUploadProperties 获取配置的文件上传路径

    8310

    Spring Boot开发Web应用

    模板引擎 动态HTML实现上Spring Boot依然可以完美胜任,并且提供了多种模板引擎的默认配置支持,所以推荐的模板引擎下,我们可以很快的上手开发动态网站。...JSP,若一定要使用JSP将无法实现Spring Boot的多种特性,具体可见后文:支持JSP的配置 当你使用上述模板引擎的任何一个,它们默认的模板配置路径为: src/main/resources/...当然也可以修改这个路径,具体如何修改,可在后续各模板引擎的配置属性查询并修改。...Spring Boot中使用Thymeleaf,只需要引入下面依赖,并在默认的模板路径 src/main/resources/templates下编写模板文件即可完成。...Thymeleaf的默认参数配置 如有需要修改默认配置的时候,只需复制下面要修改的属性到 application.properties,并修改成需要的值,如修改模板文件的扩展名,修改默认的模板路径等。

    1.1K60

    实战!魔改swagger,knife4j的另外一种打开方式

    还是要在spring security加白名单,放开swagger对外的restful接口 无法解决同一个项目不同文档的问题 针对这个问题,想了想,使用另外一种方式尝试着进行改造。...用户请求查看文档的时候直接数据库取swagger文档 一切开始之前,需要了解下swagger-ui的实现原理 swagger-ui 实现原理 /v2/api-docs 接口 正如之前所说,swagger-spring-boot-starter...,但是可以自定义,这里要求客户端注册的时候就约定好接口路径是/swagger/detail。...该接口数据库获取swagger信息。...配置唯一性 为了能在分组里唯一区分,必须要将appName和name保持唯一,而且现在上传文档之后不支持删除,如果误上传到了swagger.kdyzm.cn,发邮件给我删除的邮箱地址:kdyzm

    1.9K20

    ContentNegotiation内容协商机制(一)---Spring MVC内置支持的4种内容协商方式【享学Spring MVC】

    前言 不知你使用Spring Boot时是否对这样一个现象"诧异"过:同一个接口(同一个URL接口报错情况下,若你用rest访问,它返回给你的是一个json串;但若你用浏览器访问,它返回给你的是一段...关于更多Http的Content-Type的内容,推荐参见此文章:Http请求的Content-Type ---- Spring MVC内容协商 Spring MVC实现了HTTP内容协商的同时,...它支持4种协商方式: HTTP头Accept 扩展名 请求参数 固定类型(producers) 说明:以下示例基于Spring进行演示,而非Spring Boot 方式一:HTTP头Accept...this.allSupportedMediaTypes.isEmpty()) { List result = new ArrayList(); // 所有的消息转换器...同样的总结如下几点注意事项: 前两种方式默认是开启的,但此种方式需要手动显示开启 此方式优先级低于扩展名(因此你测试时若想它生效,请去掉url的后缀) 优缺点: 优点:不受浏览器约束 缺点:需要额外的传递

    2K20

    jar没有主清单属性啥意思啊_eclipse 找不到或无法加载主类

    如下图所示: 主清单属性是jar包MANIFEST.MF文件的一个属性,MANIFEST.MF文件位于jar包的META_INF路径下 打开MANIFEST.MF文件,里面有如下属性: Manifest-Version...Start-Class:属性值代表了Spring Boot程序的入口类,即XXXApplication类 Spring-Boot-Classes:属性值代表了类路径,所有编译后的class文件,以及配置文件...,都存储路径Spring-Boot-Lib:属性值代表了表示依赖的jar包存储的位置 以上这些属性是Springboot打包插件默认生成,缺少这些属性项目无法运行。...一顿操作之后你的项目可能会OK了,但也可能仍然有问题 项目的POM文件是自动生成的build标签里面附带了一个pluginManagement标签,我们知道pluginManagement一般是父...当我百思不得其解的时候 ,比较了之前项目的pom文件,发现没有这个标签,然后尝试删除pluginManagement标签之后。再次编译的jar包终于运行成功。

    2.1K20

    Spring Boot 实战开发》 附录 II : Spring Boot 2.0 新特性《Spring Boot 实战开发》 附录 II : Spring Boot 2.0 新特性Kotlin

    Spring Boot 2.0.0 M1 Release Notes 1.5 版本升级 此版本删除 Spring Boot 1.5 弃用的类、方法和属性。...例如, /info 端点现在对应 /application/info 这个 URL 路径。 使用 management.context-path 上下文路径属性可以重写此默认值。...定时任务的 配置支持内存配置和存储 JDBC 数据库的配置。关于 Spring Boot 集成Quartz scheduler开发定时任务的内容我们将在后面的章节详细介绍。...已经Devtools删除了通过HTTP通道进行远程调试(tunnelling remote debugging)的支持。...基于Kotlin来使用 Jackson 由于没有预料到的副作用,jackson -module- kotlin已经spring-boot-starter-json删除了。

    3.2K30

    「技术架构」使用NGINX部署Spring Boot

    一直认为这是一个问题,因为对Apache的解决方案不是很熟悉,而且它处理配置和设置的方式对来说似乎有些过火。决定抛弃它,支持NGINX,到目前为止,这个解决方案没有任何缺陷。...准备Spring引导应用程序 除了通过适当的servlet参数设置资源/应用程序的上下文路径外,应用程序本身实际上没有什么可做的。...NGINX将收到请求,然后将/ myapplication / 重定向到我们的Spring Boot应用程序,该应用程序端口8080上本地运行。...Spring的上下文路径设置为/ myapplication,因此我们的应用程序将仅接收/ 部分, 调用指定的URL。...摘要 NGINX代理后面运行Spring Boot应用程序是使我们的应用程序运行的一种相当不错的方法,它解决了Tomcat产生的许多问题。

    1.3K30

    【FastFDS】SpringBoot整合FastDFS实战(附完整工程源码)

    搭建项目 编辑pom.xml文件 我们IDEA创建一个Maven项目,并在pom.xml文件引入SpringBoot相关依赖和我们自己编译的FastDFS的Java客户端。...>org.springframework.boot spring-boot-starter-web...项目开发 创建工具类 首先,我们项目的io.mykit.fastdfs.utils包下创建FastDFSClientUtils工具类。这里,给出工具类的核心实现,其他部分小伙伴们参见源码工程。...创建常量类 io.mykit.fastdfs.constants包下创建ResourcesConstants常量类,ResourcesConstants类主要定义了访问文件的基础路径和获取文件完整访问路径的方法...此时,浏览器地址栏输入http://192.168.175.100/test/index.html就能够打开页面。

    65940

    使用 Jenkins X、Kubernetes 和 Spring Boot 实现 CICD

    克隆刚刚从GitHub创建的Spring Boot项目(确保URL更改{yourUsername}): git clone https://github.com/{yourUsername}/okta-spring-jx-example.git.../okta-spring-boot-angular-auth-code-flow-example.git spring-boot-angular 终端,导航到 okta-jenkinsx 并删除不再需要的文件... node-sass 的故障排除说明中找到了这个解决方案。 增加 Actuator 并关闭 HTTPS Jenkins X 依靠 Spring Boot 的 Actuator 进行健康检查。...特别喜欢 --headless,本地运行时,因此浏览器不会弹出并妨碍。如果想实时看到这个过程,可以快速删除该选项。...确实需要做一些额外的调整才能通过所有的 Protractor 测试: crypto-pwa/e2e/spec/login.e2e-spec.ts 无法通过 should show a login

    4.3K10

    项目之创建静态资源和设置子模块项目、开发简易上传功能(11)

    创建出来后,straw-resource的pom.xml,自行将父级项目由SpringBoot改为straw项目,删除和节点(因为没有存在的必要,父项目中已经配置好了...然后,以上回调,使用$.ajax()提交异步请求,处理结果时,创建Image对象,将结果的图片URL作为Image对象的src属性值,并将整个Image对象(就是一个标签)插入到富文本编辑器...: 应该创建子级文件夹,避免所有的文件都传到指定的同一个文件夹,推荐使用“年”和“月”分别创建2级子文件夹,上传的图片应该放在“月”的文件夹; 可以使用UUID作为文件名; 不需要判断原始扩展名,而是直接原始文件全名截取即可...SystemController,修改原有访问/index.html路径的处理方法: @GetMapping("/index.html") public String index(@AuthenticationPrincipal...()方法已经向返回的UserInfo设置了数据库读取到的type属性,则以上代码可以正常获取type值!

    1.6K30
    领券