Spring boot 在spring引导中全局设置请求映射配置

Spring boot 在spring引导中全局设置请求映射配置,spring-boot,Spring Boot,我在每个控制器中都有一个请求映射,如下所示,现在我想从应用程序的一个位置设置此配置 这是我的密码: @RestController(value = "AC1004Controller") @RequestMapping(value = { "api/v1/accounting"},method = RequestMethod.POST ,consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_FORM_URLENCO

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

这是我的密码:

@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}) 

通常,您可以使用GET、POST等映射控制器的方法

所以下面应该是配置

  • 在application.properties中定义属性

    api.endpoint.accounting=/api/v1/accounting
    
  • 下面的控制器应与您的会计控制器映射为不同的-2方法。对于post,请转到映射为控制器方法

    @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() {
    
       }
    }
    
    @RestController(value=“AC1004Controller”)
    @RequestMapping(value=“${api.endpoint.accounting}”)
    公共级AC1004控制器{
    @PostMapping(使用={MediaType.APPLICATION\u JSON\u值,
    MediaType.APPLICATION_FORM_URLENCODED_VALUE})
    公共响应地址帐户(@RequestBody帐户){
    }
    //用于获取映射
    @GetMapping
    公共响应getAccount(){
    }
    }
    

  • 通常,您可以使用GET、POST等映射控制器的方法

    所以下面应该是配置

  • 在application.properties中定义属性

    api.endpoint.accounting=/api/v1/accounting
    
  • 下面的控制器应与您的会计控制器映射为不同的-2方法。对于post,请转到映射为控制器方法

    @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() {
    
       }
    }
    
    @RestController(value=“AC1004Controller”)
    @RequestMapping(value=“${api.endpoint.accounting}”)
    公共级AC1004控制器{
    @PostMapping(使用={MediaType.APPLICATION\u JSON\u值,
    MediaType.APPLICATION_FORM_URLENCODED_VALUE})
    公共响应地址帐户(@RequestBody帐户){
    }
    //用于获取映射
    @GetMapping
    公共响应getAccount(){
    }
    }
    

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


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


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

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

    获取此行api.endpoint.accounting=api/v1/accounting的错误是否在application.properties中定义了它?那么错误是从哪里来的呢???@shohel很抱歉在启动api.endpoint.accounting=/api/v1/accounting时出现了输入错误使用斜杠,我是spring boot的新手,我不理解您的术语。我在pom.xmlok中定义了application.properties,您应该在/src/main/resources下有一个application.properties文件,您可以在其中定义属性,它们可以像${}在请求映射中调用的那样调用所以,在我给出的路径下定义它。获取此行的错误api.endpoint.accounting=api/v1/accounting您在application.properties中定义了它吗?那么错误是从哪里来的呢???@shohel很抱歉在启动api.endpoint.accounting=/api/v1/accounting时出现了输入错误使用斜杠,我是spring boot的新手,我不理解您的术语。我在pom.xmlok中定义了application.properties,您应该在/src/main/resources下有一个application.properties文件,您可以在其中定义属性,它们可以像${}在请求映射中调用的那样被调用,所以在我给出的路径下定义它。