如何基于http方法隐藏相关端点
How to hide relevant endpoint based on http method
private Predicate<String> aggregationPaths() {
return or(regex("/aggregationservice.*"),regex("/health"));
}
此代码片段列出了所有 Spring 引导健康端点到 swagger 文档。我只想显示 Http GET 方法。有人对此有任何想法吗?
您将创建基于 RequestHandler
的谓词
private Predicate<RequestHandler> onlyGets() {
return new Predicate<RequestHandler>() {
@Override
public boolean apply(RequestHandler input) {
return input.getRequestMapping()
.getMethodsCondition()
.getMethods()
.contains(RequestMethod.GET);
}
};
}
并在您的 api 选择器中为您的摘要添加谓词
//....
new Docket().select().apis(onlyGets())
//...
目前 input.getRequestMapping()
方法已弃用,它在 RequestHandler 中仅用于合法目的。取而代之的是,您可以使用:
private Predicate<RequestHandler> onlyGets() {
return new Predicate<RequestHandler>() {
@Override
public boolean apply(RequestHandler input) {
return input.supportedMethods()
.contains(RequestMethod.GET);
}
};
}
private Predicate<String> aggregationPaths() {
return or(regex("/aggregationservice.*"),regex("/health"));
}
此代码片段列出了所有 Spring 引导健康端点到 swagger 文档。我只想显示 Http GET 方法。有人对此有任何想法吗?
您将创建基于 RequestHandler
private Predicate<RequestHandler> onlyGets() {
return new Predicate<RequestHandler>() {
@Override
public boolean apply(RequestHandler input) {
return input.getRequestMapping()
.getMethodsCondition()
.getMethods()
.contains(RequestMethod.GET);
}
};
}
并在您的 api 选择器中为您的摘要添加谓词
//....
new Docket().select().apis(onlyGets())
//...
目前 input.getRequestMapping()
方法已弃用,它在 RequestHandler 中仅用于合法目的。取而代之的是,您可以使用:
private Predicate<RequestHandler> onlyGets() {
return new Predicate<RequestHandler>() {
@Override
public boolean apply(RequestHandler input) {
return input.supportedMethods()
.contains(RequestMethod.GET);
}
};
}