mem*_*und 2 java spring spring-mvc
我使用@RestControllerwith@RequestMapping注释来定义我的所有 servlet spring-mvc。
问题:如何为这些注释定义一些默认值,这样我就不必重复有关 例如consumes和的相同配置produces?
我想始终应用以下配置,而不必在每个路径上重复它:
@GetMapping(produces = {APPLICATION_XML_VALUE, APPLICATION_JSON_VALUE})
@PostMapping(
consumes = {APPLICATION_XML_VALUE, APPLICATION_JSON_VALUE},
produces = {APPLICATION_XML_VALUE, APPLICATION_JSON_VALUE})
Run Code Online (Sandbox Code Playgroud)
也许最简单的方法就是创建一个自定义@RestController注释并在类级别上使用它。然后我只需要重复@PostMapping(consumes...)映射:
@Target(ElementType.TYPE)
@Retention(value=RUNTIME)
@RestController
@RequestMapping(produces = {APPLICATION_JSON_VALUE, APPLICATION_XML_VALUE})
public @interface DefaultRestController {
}
Run Code Online (Sandbox Code Playgroud)
用法如下:
@DefaultRestController
public class MyServlet {
@GetMapping("/getmap") //inherits the 'produces' mapping
public void getmap() {
}
@PostMapping("/postmap", consumes = {APPLICATION_JSON_VALUE, APPLICATION_XML_VALUE})
public void postmap() {
}
}
Run Code Online (Sandbox Code Playgroud)
有总比没有好。
| 归档时间: |
|
| 查看次数: |
3829 次 |
| 最近记录: |