在春季启动中全局设置了请求映射配置



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

这是我的代码:

@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等映射控制器的方法。。

所以下面应该是配置。。

  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() {
    }
    }
    

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

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

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

最新更新