下面列出了io.swagger.annotations.Api#tags ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
protected Set<String> extractTags(Api api) {
Set<String> output = new LinkedHashSet<String>();
boolean hasExplicitTags = false;
for (String tag : api.tags()) {
if (!"".equals(tag)) {
hasExplicitTags = true;
output.add(tag);
}
}
if (!hasExplicitTags) {
// derive tag from api path + description
String tagString = api.value().replace("/", "");
if (!"".equals(tagString)) {
output.add(tagString);
}
}
return output;
}
protected Set<String> extractTags(Api api) {
Set<String> output = new LinkedHashSet<>();
boolean hasExplicitTags = false;
for (String tag : api.tags()) {
if (!"".equals(tag)) {
hasExplicitTags = true;
output.add(tag);
}
}
if (!hasExplicitTags) {
// derive tag from api path + description
String tagString = api.value().replace("/", "");
if (!"".equals(tagString)) {
output.add(tagString);
}
}
return output;
}
private void readApi() {
Api api = findAnnotation(Api.class);
if (nonNull(api)) {
hidden |= api.hidden();
for (String tag : api.tags()) {
if (!StringUtils.isEmpty(tag)) {
this.tag = tag;
}
}
}
}
private String resolveApiName(OperationContext context) {
Api api = context.findControllerAnnotation(Api.class).orNull();
if (api != null) {
return api.tags()[0];
}
GetMapping getMapping = context.findControllerAnnotation(GetMapping.class).orNull();
if (getMapping != null) {
return getMapping.name();
}
PostMapping postMapping = context.findControllerAnnotation(PostMapping.class).orNull();
if (postMapping != null) {
return postMapping.name();
}
DeleteMapping deleteMapping = context.findControllerAnnotation(DeleteMapping.class).orNull();
if (deleteMapping != null) {
return deleteMapping.name();
}
PutMapping putMapping = context.findControllerAnnotation(PutMapping.class).orNull();
if (putMapping != null) {
return putMapping.name();
}
RequestMapping requestMapping = context.findControllerAnnotation(RequestMapping.class).orNull();
if (requestMapping != null) {
return requestMapping.name();
}
return "";
}
private void setTags(SwaggerGenerator swaggerGenerator, Api api) {
String[] tags = api.tags();
for (String tagName : tags) {
if (StringUtils.isEmpty(tagName)) {
continue;
}
swaggerGenerator.addDefaultTag(tagName);
}
}
protected void handleLog(final JoinPoint joinPoint, final Exception e) {
try {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
OperateLog operateLog = this.getAnnotationLog(joinPoint);
if (operateLog == null) {
return;
}
RequestTokenBO requestToken = SmartRequestTokenUtil.getRequestUser();
if (requestToken == null) {
return;
}
// 设置方法名称
String className = joinPoint.getTarget().getClass().getName();
String methodName = joinPoint.getSignature().getName();
String operateMethod = className + "." + methodName;
Object[] args = joinPoint.getArgs();
StringBuilder sb = new StringBuilder();
for (Object obj : args) {
sb.append(obj.getClass().getSimpleName());
sb.append("[");
sb.append(JSON.toJSONString(obj));
sb.append("]");
}
String params = sb.toString();
String failReason = null;
Integer result = JudgeEnum.YES.getValue();
if (e != null) {
result = JudgeEnum.NO.getValue();
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw, true);
e.printStackTrace(pw);
failReason = sw.toString();
pw.flush();
pw.close();
sw.flush();
sw.close();
}
UserOperateLogEntity operateLogEntity =
UserOperateLogEntity.builder().userId(requestToken.getRequestUserId()).userName(requestToken.getEmployeeBO().getActualName()).url(request.getRequestURI()).method(operateMethod).param(params).failReason(failReason).result(result).build();
ApiOperation apiOperation = this.getApiOperation(joinPoint);
if (apiOperation != null) {
operateLogEntity.setContent(apiOperation.value());
}
Api api = this.getApi(joinPoint);
if (api != null) {
String[] tags = api.tags();
operateLogEntity.setModule(SmartStringUtil.join(tags, ","));
}
logService.addLog(operateLogEntity);
} catch (Exception exp) {
log.error("保存操作日志异常:{}", exp.getMessage());
exp.printStackTrace();
}
}