swagger已实现文档的参数和返回值查看
This commit is contained in:
@@ -128,19 +128,4 @@ public class SwaggerDocumentController {
|
||||
swaggerDocService.updateById(swaggerDocUp);
|
||||
return DocResponseJson.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文档内容
|
||||
*
|
||||
* @return 文档内容
|
||||
* @author 暮光:城中城
|
||||
* @since 2021年10月16日
|
||||
*/
|
||||
@ResponseBody
|
||||
@PostMapping(value = "/content")
|
||||
public ResponseJson<List<SwaggerDoc>> content(HttpServletRequest request, String docUrl) {
|
||||
String contentStr = swaggerHttpRequestService.requestUrl(request, docUrl);
|
||||
return DocResponseJson.ok(contentStr);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.zyplayer.doc.core.annotation.AuthMan;
|
||||
import com.zyplayer.doc.core.json.DocResponseJson;
|
||||
import com.zyplayer.doc.core.json.ResponseJson;
|
||||
import com.zyplayer.doc.data.config.security.DocUserDetails;
|
||||
import com.zyplayer.doc.data.config.security.DocUserUtil;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.SwaggerDoc;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.SwaggerGlobalParam;
|
||||
import com.zyplayer.doc.data.service.manage.SwaggerGlobalParamService;
|
||||
@@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -60,17 +63,15 @@ public class SwaggerGlobalParamController {
|
||||
*/
|
||||
@ResponseBody
|
||||
@PostMapping(value = "/update")
|
||||
public ResponseJson<List<SwaggerDoc>> update(String globalParam) {
|
||||
List<SwaggerGlobalParam> newParamList = JSON.parseArray(globalParam, SwaggerGlobalParam.class);
|
||||
QueryWrapper<SwaggerGlobalParam> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("yn", 1);
|
||||
List<SwaggerGlobalParam> queryParamList = swaggerGlobalParamService.list(queryWrapper);
|
||||
List<Long> newIdList = newParamList.stream().map(SwaggerGlobalParam::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
List<Long> deletedList = queryParamList.stream().map(SwaggerGlobalParam::getId).filter(id -> !newIdList.contains(id)).collect(Collectors.toList());
|
||||
// 删除不存在的
|
||||
swaggerGlobalParamService.removeByIds(deletedList);
|
||||
// 保存或更新的
|
||||
swaggerGlobalParamService.saveOrUpdateBatch(newParamList);
|
||||
public ResponseJson<List<SwaggerDoc>> update(SwaggerGlobalParam globalParam) {
|
||||
if (globalParam.getId() == null) {
|
||||
DocUserDetails currentUser = DocUserUtil.getCurrentUser();
|
||||
globalParam.setYn(1);
|
||||
globalParam.setCreateTime(new Date());
|
||||
globalParam.setCreateUserId(currentUser.getUserId());
|
||||
globalParam.setCreateUserName(currentUser.getUsername());
|
||||
}
|
||||
swaggerGlobalParamService.saveOrUpdate(globalParam);
|
||||
return DocResponseJson.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.zyplayer.doc.swaggerplus.service;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import com.zyplayer.doc.data.repository.manage.entity.SwaggerGlobalParam;
|
||||
import com.zyplayer.doc.data.service.manage.SwaggerGlobalParamService;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -27,25 +28,26 @@ public class SwaggerHttpRequestService {
|
||||
.collect(Collectors.toMap(SwaggerGlobalParam::getParamKey, SwaggerGlobalParam::getParamValue));
|
||||
Map<String, String> globalHeaderParamMap = globalParamList.stream().filter(item -> Objects.equals(item.getParamType(), 2))
|
||||
.collect(Collectors.toMap(SwaggerGlobalParam::getParamKey, SwaggerGlobalParam::getParamValue));
|
||||
|
||||
Map<String, String> globalCookieParamMap = globalParamList.stream().filter(item -> Objects.equals(item.getParamType(), 3))
|
||||
.collect(Collectors.toMap(SwaggerGlobalParam::getParamKey, SwaggerGlobalParam::getParamValue));
|
||||
// 执行请求
|
||||
String resultStr = HttpRequest.get(docUrl)
|
||||
.form(globalFormParamMap)
|
||||
.header("Accept", "application/json, text/javascript, */*; q=0.01")
|
||||
.header("User-Agent", request.getHeader("User-Agent"))
|
||||
.addHeaders(globalHeaderParamMap)
|
||||
.cookie(this.getHttpCookie(request))
|
||||
.cookie(this.getHttpCookie(request, globalCookieParamMap))
|
||||
.timeout(5000).execute().body();
|
||||
return resultStr;
|
||||
}
|
||||
|
||||
private List<HttpCookie> getHttpCookie(HttpServletRequest request) {
|
||||
private List<HttpCookie> getHttpCookie(HttpServletRequest request, Map<String, String> globalCookieParamMap) {
|
||||
List<HttpCookie> httpCookies = new LinkedList<>();
|
||||
for (Cookie cookie : request.getCookies()) {
|
||||
HttpCookie httpCookie = new HttpCookie(cookie.getName(), cookie.getValue());
|
||||
httpCookie.setDomain(cookie.getDomain());
|
||||
httpCookie.setPath(cookie.getPath());
|
||||
httpCookie.setMaxAge(cookie.getMaxAge());
|
||||
httpCookies.add(httpCookie);
|
||||
httpCookies.add(new HttpCookie(cookie.getName(), cookie.getValue()));
|
||||
}
|
||||
if (MapUtils.isNotEmpty(globalCookieParamMap)) {
|
||||
globalCookieParamMap.forEach((key, value) -> httpCookies.add(new HttpCookie(key, value)));
|
||||
}
|
||||
return httpCookies;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user