java - Spring Web - 类级 RequestMapping 不起作用

标签 java spring-mvc request-mapping

我有一个简单的 RestController,它将用作 API。我需要每个端点方法 重用其路径的前缀,因此我将其写在 RequestMapping 中类级别的注释。 当我尝试对“/api/companies/all”执行 GET 时,它返回 404 错误:

@RestController
@RequestMapping("/api/companies")
public class CompanyApi {
  @GetMapping("/all")
  public ResponseEntity<String> getAllCompanies() {
    return ResponseEntity.ok("all companies");
  }
}

但是,当前缀写在每个方法的注释中时,它会起作用,如下所示:

@RestController
public class CompanyApi {
  @GetMapping("/api/companies/all")
  public ResponseEntity<String> getAllCompanies() {
    return ResponseEntity.ok("all companies");
  }
}

我需要重用路径“api/companies”,但出现错误。如何在 Spring 中解决这个问题?

最佳答案

您不应该在 @GetMapping 值中以 / 开头,它会创建重复的 /,而是这样做:

@GetMapping("all")

关于java - Spring Web - 类级 RequestMapping 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61343707/

相关文章:

java - 选择正确的枚举

java - 在 Linux 上放置我需要读写的文件的最佳文件位置

java - 返回带有url路径参数的静态页面

java - 在 Java 中比较具有最小时间复杂度的列表

java - SelectedRow改变,当按下向上或向下时,JTable

java - 如何在 Spring MVC 的 JavaBean 中将下划线样式查询字符串转换为 Camel 样式属性?

spring - Spring中这种mongo聚合匹配条件怎么写呢?

java - 使 Swagger 在生成的模型中使用原始 int 和 boolean

spring - 避免在Spring RequestMapping之间使用斜杠(/)

java - Spring MVC 可以严格地将查询字符串映射到请求参数吗?