我已经使用SpringBoot公开了一个API. 它接受HTTP POST方法.以下是代码

@RequestMapping(value = "upload/config_data", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA)
public String uploadConfigData(@RequestParam("inFile") MultipartFile inFile,
        @RequestParam("rowData") String rowData) throws ServiceException, DAOException {
    return extConfigApiService.uploadConfigData(inFile, rowData);
}

在Sprringboot2.x中,我可以用尾部斜杠来调用这个端点,它可以很好地工作http://localhost:8000/upload/config_data/

我升级到了Springboot3.1.4,现在当我调用相同的端点时,我得到了404响应.

当我go 掉尾部的"/"时,它起作用了.

有没有办法让它在尾随"/"的情况下也能正常工作? 请帮帮忙

推荐答案

在Spring Boot 2.x中,默认情况下会自动忽略尾部斜杠,允许使用或不使用尾部斜杠访问端点.

在Spring Boot 3.x中,您需要添加一个配置以允许您的尾随slashe

@Configuration
public class WebConfiguration implements WebMvcConfigurer {

@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
  configurer.setUseTrailingSlashMatch(true);
  }
}

有关更多信息,请查看文档:

https://www.baeldung.com/spring-boot-3-url-matching

Java相关问答推荐

在URL类图中表示Java swing类

基于仅存在于父级中的字段查询子文档?

OpenJDK、4K显示和文本质量

Javascript更新alert 可扩展内容样式与CSS—按钮更多/更少

scanner 如何在执行hasNextLine一次后重新读取整个文件?

所有 case 一起输入时输出错误,而单独放置时输出正确

我需要生成一个文件来整合每个特性执行的所有JSON结果

使用Spring Boot3.2和虚拟线程的并行服务调用

由于 list 中的权限错误,Android未生成

Mac上的全屏截图在使用JavaFX时不能正常工作吗?

测试何时使用Mockito强制转换对象会导致ClassCastException

垃圾收集时间长,会丢弃网络连接,但不会在Kubernetes中反弹Pod

在Ubuntu 23.10上使用mp3创建JavaFX MediaPlayer时出错

Domino中不同的java.Protocol.handler.pkgs设置在XPages Java中导致错误

Spring Framework6.1中引入的新RestClient是否有适合于测试的变体,就像RestTemplate和TestRestTemplate一样?

没有Tomcat,IntelliJ如何在本地运行API?

本机方法(JNI)总是编译的吗?

为什么创建Java动态代理需要接口参数

AspectJ编织外部依赖代码,重新打包jar并强制依赖用户使用它

使用Java线程进行并行编程