【问题标题】:Request Mapping Configuration set globally in spring boot在 Spring Boot 中全局设置请求映射配置
【发布时间】:2019-04-01 09:16:57
【问题描述】:

我在每个控制器中都有一个请求映射,如下所示,现在我想从我的应用程序的一个位置设置此配置

这是我的代码:

@RestController(value = "AC1004Controller")
@RequestMapping(value = { "api/v1/accounting"},method = RequestMethod.POST ,consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_FORM_URLENCODED_VALUE})
public class AC1004Controller {
}

我的目标编码是,需要从我们应用程序的一个地方替换下面的代码

 @RequestMapping(value = { "api/v1/accounting"},method = RequestMethod.POST ,consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_FORM_URLENCODED_VALUE}) 

【问题讨论】:

    标签: spring-boot


    【解决方案1】:

    通常你用 GET、POST 等映射控制器的方法。

    所以下面应该是配置..

    1. 在 application.properties 中定义一个属性

      api.endpoint.accounting=/api/v1/accounting
      
    2. 下面的控制器应该用不同的2种方法映射到你的会计控制器,然后用控制器方法映射。

      @RestController(value = "AC1004Controller")
      @RequestMapping(value = "${api.endpoint.accounting}")
      public class AC1004Controller {
      
          @PostMapping(consumes = {MediaType.APPLICATION_JSON_VALUE, 
          MediaType.APPLICATION_FORM_URLENCODED_VALUE})
          public ResponseEntity<?> addAccount(@RequestBody Account account) {
      
         }
      
         //for get mapping
      
         @GetMapping
         public ResponseEntity<?> getAccount() {
      
         }
      }
      

    【讨论】:

    • 这一行 api.endpoint.accounting=api/v1/accounting 出错
    • 你在application.properties中定义了吗?那么错误在哪里呢??
    • @shoel 抱歉,在启动 api.endpoint.accounting=/api/v1/accounting 时出现拼写错误使用斜线
    • 我是spring boot的新手,我不明白你的条款。我将 application.properties 定义为 pom.xml
    • 好的,您应该在 /src/main/resources 下有一个文件 application.properties,您可以在其中定义属性,并且可以像我在 ${} 请求映射中调用的那样调用它们,因此在路径下定义它我已经给了。
    【解决方案2】:

    您只需将这些配置中的任何一个放在应用程序属性文件(yaml 或属性)中即可。

    spring.data.rest.basePath=/api  
    spring.data.rest.base-path=/api
    

    【讨论】:

      【解决方案3】:

      您需要在application.properties 文件中设置spring.mvc.servlet.path 属性。 像这样: spring.mvc.servlet.path=/AC1004Controller

      【讨论】:

        猜你喜欢
        • 2019-11-25
        • 2012-09-27
        • 2013-02-15
        • 1970-01-01
        • 2021-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多