我已经将SpringFox依赖项添加到我的Spring Boot项目中,当我打开swagger-ui.html页面时,我可以看到我自己创建的RestControllers的文档,我确实看到了以下文档:
如何向default/loginendpoint添加文档?
尝试配置这样的类来个性化您的登录。
package application.swagger;
import application.user.dto.UserLoginDTO;
import com.fasterxml.classmate.TypeResolver;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.annotation.Order;
import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Component;
import springfox.documentation.builders.OperationBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.ResponseMessageBuilder;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiDescription;
import springfox.documentation.service.ResponseMessage;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.ApiListingScannerPlugin;
import springfox.documentation.spi.service.contexts.DocumentationContext;
import springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator;
import springfox.documentation.swagger.common.SwaggerPluginSupport;
import java.util.*;
@Component
@Order(SwaggerPluginSupport.SWAGGER_PLUGIN_ORDER)
@Slf4j
public class SwaggerLoginListingScanner implements ApiListingScannerPlugin {
// tag::api-listing-plugin[]
private final CachingOperationNameGenerator operationNames;
/**
* @param operationNames - CachingOperationNameGenerator is a component bean
* that is available to be autowired
*/
public SwaggerLoginListingScanner(CachingOperationNameGenerator operationNames) {//<9>
this.operationNames = operationNames;
}
@Override
public List<ApiDescription> apply(DocumentationContext context) {
return new ArrayList<>(
Arrays.asList(
new ApiDescription(null, "/api/login", "login", Collections.singletonList(
new OperationBuilder(operationNames)
.summary("login")
.tags(Set.of("jwt-authentication-filter"))
.authorizations(new ArrayList<>())
.position(1)
.codegenMethodNameStem("loginPost")
.method(HttpMethod.POST)
.notes("This is a login method")
.parameters(
Arrays.asList(
new ParameterBuilder()
.description("Login Parameter")
.type(new TypeResolver().resolve(UserLoginDTO.class))
.name("userLogin")
.parameterType("body")
.parameterAccess("access")
.required(true)
.modelRef(new ModelRef("UserLoginDTO"))
.build()
)
).responseMessages(responseMessages())
.responseModel(new ModelRef(("UserToken")))
.build()
), false)));
}
/**
* @return Set of response messages that overide the default/global response messages
*/
private Set<ResponseMessage> responseMessages() { //<8>
return Set.of(new ResponseMessageBuilder()
.code(200)
.responseModel(new ModelRef("UserToken"))
.build(), new ResponseMessageBuilder()
.code(401)
.responseModel(new ModelRef("ApiError"))
.build(),
new ResponseMessageBuilder()
.code(403)
.responseModel(new ModelRef("ApiError"))
.build(),
new ResponseMessageBuilder()
.code(404)
.responseModel(new ModelRef("ApiError"))
.build()
);
}
// tag::api-listing-plugin[]
@Override
public boolean supports(DocumentationType delimiter) {
return DocumentationType.SWAGGER_2.equals(delimiter);
}
}
有没有办法可以从springfox swagger-UI中删除“basic-error-controller”? 图片:
SwaggerUI 汉化版;修改了部分样式;结合SpringFox SpringFox-Swagger-UI实现API管理
我使用的是swagger版本2.2.2。如果我转到地址http://localhost:8080/swagger-ui.html,我将直接获得swagger UI。有没有办法,一个安全层可以增加,像,用户应该提示输入用户id和密码之前,大摇大摆的UI显示?
我在我的机器上运行一个本地HTTP代理服务器并执行一些日志记录。我还想记录SSL流量。为此,我运行了另一个用Python编写的代理服务器,它作为SSL服务器,使用我的自签名证书,HTTP服务器forwads将请求连接到该服务器。SSL代理用于SSL处理“SSL”标准Python模块。此SSL代理应将SSL流量转发到目标web服务器。 HTTP代理成功转发来自浏览器的CONNECT请求,浏览器与SS
我将事件发送到AWS Kinesis,这些事件由AWS lambda函数处理。但是,如果lambda抛出一些错误,则不会丢弃记录,并且会一次又一次地进行处理,从而阻止处理新记录。 我宁愿跳过错误的记录,消化新的记录。我不知道该怎么做。 lambda函数捕获任何异常,因此不应给出任何执行错误。 下面是python中的片段。 我知道lambda应该在“保留”期间重试(默认为24小时),但我希望放弃并最
问题内容: 任何人都可以解释将HttpRequest和HttpResponse记录在文件中的任何技术。 我们正在使用Spring MVC / Spring Rest。 我们想要的是在处理请求之前将其拦截并记录下来。用同样的方法在发送响应之前先截取响应并将其记录下来。 非常感谢。 问题答案: 为了记录请求,Spring提供了一个类(实际上是子类之一)。这可用于记录传入的请求(处理之前和之后)。 根据