我在每个控制器中都有一个请求映射,如下所示,现在我想从应用程序的一个位置设置这个配置
这是我的代码:
@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种方法映射到您的会计控制器上,然后用控制器方法映射。
@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