1
在我的Spring(4.3.2)項目中,我使用Swagger(2.7.0)爲我的項目自動生成文檔和swagger-ui。迄今爲止這很有效。如何確認swagger來處理自定義Controller級別的PathVariable註釋?
但是現在我確定我需要能夠在控制器級別(而不是方法級別)聲明路徑變量。我需要教大家發現這些路徑變量並將它們添加到文檔和swagger-ui中。
我創建定製標註
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface HasCommonPathVariable {
/**
* The URI template variable to bind to.
*/
String name();
Class<?> type();
String defaultValue() default "";
}
而我使用它是這樣的:
@RestController
@Secured(SecurityConstants.ROLE_USER)
@RequestMapping(path = "/rest/api/v1/env/{envId}/asset-type")
@HasCommonPathVariable(name = "envId", type = Long.class)
public class AssetTypeRestController extends CustomRestControllerBase<Long, AssetTypeRow, AssetTypeService> {
// ... contorller code
}
我沒有與Spring的PathVariable註釋中提到的參數控制方法,和點我不允許這麼做(這是因爲我正在構建微觀框架)。
所以問題是:如何教大搖大擺發現路徑變量描述使用自定義註釋HasCommonPathVariable
在控制器級應用?