[Fix-4268] Fix NumberFormatException when visiting a doc.html or swagger-ui.html (#4269)
* [Fix-4268] Fix NumberFormatException when visiting a doc.html or swagger-ui.html * Fix checkstyle error * Update swagger-models in known-dependencies.txtparam-trans
parent
561c65b6b8
commit
ef7d7b791e
|
|
@ -126,6 +126,11 @@
|
|||
<artifactId>springfox-swagger-ui</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-models</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.dolphinscheduler</groupId>
|
||||
<artifactId>dolphinscheduler-service</artifactId>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.apache.dolphinscheduler.api.configuration;
|
||||
|
||||
import org.apache.dolphinscheduler.api.interceptor.LoginHandlerInterceptor;
|
||||
|
|
@ -33,85 +34,78 @@ import java.util.Locale;
|
|||
@Configuration
|
||||
public class AppConfiguration implements WebMvcConfigurer {
|
||||
|
||||
public static final String LOGIN_INTERCEPTOR_PATH_PATTERN = "/**/*";
|
||||
public static final String LOGIN_PATH_PATTERN = "/login";
|
||||
public static final String REGISTER_PATH_PATTERN = "/users/register";
|
||||
public static final String PATH_PATTERN = "/**";
|
||||
public static final String LOCALE_LANGUAGE_COOKIE = "language";
|
||||
public static final int COOKIE_MAX_AGE = 3600;
|
||||
public static final String LOGIN_INTERCEPTOR_PATH_PATTERN = "/**/*";
|
||||
public static final String LOGIN_PATH_PATTERN = "/login";
|
||||
public static final String REGISTER_PATH_PATTERN = "/users/register";
|
||||
public static final String PATH_PATTERN = "/**";
|
||||
public static final String LOCALE_LANGUAGE_COOKIE = "language";
|
||||
public static final int COOKIE_MAX_AGE = 3600;
|
||||
|
||||
@Bean
|
||||
public LoginHandlerInterceptor loginInterceptor() {
|
||||
return new LoginHandlerInterceptor();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public LoginHandlerInterceptor loginInterceptor() {
|
||||
return new LoginHandlerInterceptor();
|
||||
}
|
||||
/**
|
||||
* Cookie
|
||||
* @return local resolver
|
||||
*/
|
||||
@Bean(name = "localeResolver")
|
||||
public LocaleResolver localeResolver() {
|
||||
CookieLocaleResolver localeResolver = new CookieLocaleResolver();
|
||||
localeResolver.setCookieName(LOCALE_LANGUAGE_COOKIE);
|
||||
// set default locale
|
||||
localeResolver.setDefaultLocale(Locale.US);
|
||||
// set cookie max age
|
||||
localeResolver.setCookieMaxAge(COOKIE_MAX_AGE);
|
||||
return localeResolver;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public LocaleChangeInterceptor localeChangeInterceptor() {
|
||||
LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
|
||||
lci.setParamName("language");
|
||||
return lci;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cookie
|
||||
* @return local resolver
|
||||
*/
|
||||
@Bean(name = "localeResolver")
|
||||
public LocaleResolver localeResolver() {
|
||||
CookieLocaleResolver localeResolver = new CookieLocaleResolver();
|
||||
localeResolver.setCookieName(LOCALE_LANGUAGE_COOKIE);
|
||||
/** set default locale **/
|
||||
localeResolver.setDefaultLocale(Locale.US);
|
||||
/** set cookie max age **/
|
||||
localeResolver.setCookieMaxAge(COOKIE_MAX_AGE);
|
||||
return localeResolver;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public LocaleChangeInterceptor localeChangeInterceptor() {
|
||||
LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
|
||||
/** **/
|
||||
lci.setParamName("language");
|
||||
|
||||
return lci;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void addInterceptors(InterceptorRegistry registry) {
|
||||
//i18n
|
||||
registry.addInterceptor(localeChangeInterceptor());
|
||||
|
||||
registry.addInterceptor(loginInterceptor()).addPathPatterns(LOGIN_INTERCEPTOR_PATH_PATTERN).excludePathPatterns(LOGIN_PATH_PATTERN, REGISTER_PATH_PATTERN, "/swagger-resources/**", "/webjars/**", "/v2/**", "/doc.html", "*.html", "/ui/**");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
|
||||
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
|
||||
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
|
||||
registry.addResourceHandler("/ui/**").addResourceLocations("file:ui/");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addViewControllers(ViewControllerRegistry registry) {
|
||||
registry.addViewController("/ui/").setViewName("forward:/ui/index.html");
|
||||
registry.addViewController("/").setViewName("forward:/ui/index.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addCorsMappings(CorsRegistry registry) {
|
||||
registry.addMapping(PATH_PATTERN).allowedOrigins("*").allowedMethods("*");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Turn off suffix-based content negotiation
|
||||
*
|
||||
* @param configurer configurer
|
||||
*/
|
||||
@Override
|
||||
public void configureContentNegotiation(final ContentNegotiationConfigurer configurer) {
|
||||
configurer.favorPathExtension(false);
|
||||
}
|
||||
@Override
|
||||
public void addInterceptors(InterceptorRegistry registry) {
|
||||
// i18n
|
||||
registry.addInterceptor(localeChangeInterceptor());
|
||||
registry.addInterceptor(loginInterceptor())
|
||||
.addPathPatterns(LOGIN_INTERCEPTOR_PATH_PATTERN)
|
||||
.excludePathPatterns(LOGIN_PATH_PATTERN, REGISTER_PATH_PATTERN,
|
||||
"/swagger-resources/**", "/webjars/**", "/v2/**",
|
||||
"/doc.html", "/swagger-ui.html", "*.html", "/ui/**");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
|
||||
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
|
||||
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
|
||||
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
|
||||
registry.addResourceHandler("/ui/**").addResourceLocations("file:ui/");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addViewControllers(ViewControllerRegistry registry) {
|
||||
registry.addViewController("/ui/").setViewName("forward:/ui/index.html");
|
||||
registry.addViewController("/").setViewName("forward:/ui/index.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addCorsMappings(CorsRegistry registry) {
|
||||
registry.addMapping(PATH_PATTERN).allowedOrigins("*").allowedMethods("*");
|
||||
}
|
||||
|
||||
/**
|
||||
* Turn off suffix-based content negotiation
|
||||
*
|
||||
* @param configurer configurer
|
||||
*/
|
||||
@Override
|
||||
public void configureContentNegotiation(final ContentNegotiationConfigurer configurer) {
|
||||
configurer.favorPathExtension(false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,8 +118,8 @@ public class AlertGroupController extends BaseController {
|
|||
@ResponseStatus(HttpStatus.OK)
|
||||
@ApiException(LIST_PAGING_ALERT_GROUP_ERROR)
|
||||
public Result listPaging(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser,
|
||||
@RequestParam("pageNo") Integer pageNo,
|
||||
@RequestParam(value = "searchVal", required = false) String searchVal,
|
||||
@RequestParam("pageNo") Integer pageNo,
|
||||
@RequestParam("pageSize") Integer pageSize) {
|
||||
logger.info("login user {}, list paging, pageNo: {}, searchVal: {}, pageSize: {}",
|
||||
loginUser.getUserName(), pageNo, searchVal, pageSize);
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ public class ProcessDefinitionController extends BaseController {
|
|||
@ApiOperation(value = "copyProcessDefinition", notes = "COPY_PROCESS_DEFINITION_NOTES")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "processDefinitionIds", value = "PROCESS_DEFINITION_IDS", required = true, dataType = "String", example = "3,4"),
|
||||
@ApiImplicitParam(name = "targetProjectId", value = "TARGET_PROJECT_ID", required = true, type = "Integer")
|
||||
@ApiImplicitParam(name = "targetProjectId", value = "TARGET_PROJECT_ID", required = true, dataType = "Int", example = "10")
|
||||
})
|
||||
@PostMapping(value = "/copy")
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
|
|
@ -173,7 +173,7 @@ public class ProcessDefinitionController extends BaseController {
|
|||
@ApiOperation(value = "moveProcessDefinition", notes = "MOVE_PROCESS_DEFINITION_NOTES")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "processDefinitionIds", value = "PROCESS_DEFINITION_IDS", required = true, dataType = "String", example = "3,4"),
|
||||
@ApiImplicitParam(name = "targetProjectId", value = "TARGET_PROJECT_ID", required = true, type = "Integer")
|
||||
@ApiImplicitParam(name = "targetProjectId", value = "TARGET_PROJECT_ID", required = true, dataType = "Int", example = "10")
|
||||
})
|
||||
@PostMapping(value = "/move")
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ public class ResourcesController extends BaseController {
|
|||
@ApiImplicitParam(name = "type", value = "RESOURCE_TYPE", required = true, dataType = "ResourceType"),
|
||||
@ApiImplicitParam(name = "name", value = "RESOURCE_NAME", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "description", value = "RESOURCE_DESC", dataType = "String"),
|
||||
@ApiImplicitParam(name = "pid", value = "RESOURCE_PID", required = true, dataType = "Int"),
|
||||
@ApiImplicitParam(name = "pid", value = "RESOURCE_PID", required = true, dataType = "Int", example = "10"),
|
||||
@ApiImplicitParam(name = "currentDir", value = "RESOURCE_CURRENTDIR", required = true, dataType = "String")
|
||||
})
|
||||
@PostMapping(value = "/directory/create")
|
||||
|
|
@ -142,7 +142,7 @@ public class ResourcesController extends BaseController {
|
|||
@ApiImplicitParam(name = "name", value = "RESOURCE_NAME", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "description", value = "RESOURCE_DESC", dataType = "String"),
|
||||
@ApiImplicitParam(name = "file", value = "RESOURCE_FILE", required = true, dataType = "MultipartFile"),
|
||||
@ApiImplicitParam(name = "pid", value = "RESOURCE_PID", required = true, dataType = "Int"),
|
||||
@ApiImplicitParam(name = "pid", value = "RESOURCE_PID", required = true, dataType = "Int", example = "10"),
|
||||
@ApiImplicitParam(name = "currentDir", value = "RESOURCE_CURRENTDIR", required = true, dataType = "String")
|
||||
})
|
||||
@PostMapping(value = "/create")
|
||||
|
|
@ -226,7 +226,7 @@ public class ResourcesController extends BaseController {
|
|||
@ApiOperation(value = "queryResourceListPaging", notes = "QUERY_RESOURCE_LIST_PAGING_NOTES")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "type", value = "RESOURCE_TYPE", required = true, dataType = "ResourceType"),
|
||||
@ApiImplicitParam(name = "id", value = "RESOURCE_ID", required = true, dataType = "int"),
|
||||
@ApiImplicitParam(name = "id", value = "RESOURCE_ID", required = true, dataType = "int", example = "10"),
|
||||
@ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", dataType = "String"),
|
||||
@ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "20")
|
||||
|
|
@ -342,7 +342,7 @@ public class ResourcesController extends BaseController {
|
|||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "type", value = "RESOURCE_TYPE", required = true, dataType = "ResourceType"),
|
||||
@ApiImplicitParam(name = "fullName", value = "RESOURCE_FULL_NAME", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "id", value = "RESOURCE_ID", required = false, dataType = "Int")
|
||||
@ApiImplicitParam(name = "id", value = "RESOURCE_ID", required = false, dataType = "Int", example = "10")
|
||||
})
|
||||
@GetMapping(value = "/queryResource")
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
|
|
@ -405,7 +405,7 @@ public class ResourcesController extends BaseController {
|
|||
@ApiImplicitParam(name = "suffix", value = "SUFFIX", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "description", value = "RESOURCE_DESC", dataType = "String"),
|
||||
@ApiImplicitParam(name = "content", value = "CONTENT", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "pid", value = "RESOURCE_PID", required = true, dataType = "Int"),
|
||||
@ApiImplicitParam(name = "pid", value = "RESOURCE_PID", required = true, dataType = "Int", example = "10"),
|
||||
@ApiImplicitParam(name = "currentDir", value = "RESOURCE_CURRENTDIR", required = true, dataType = "String")
|
||||
})
|
||||
@PostMapping(value = "/online-create")
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@ public class SchedulerController extends BaseController {
|
|||
@PostMapping("/online")
|
||||
@ApiException(PUBLISH_SCHEDULE_ONLINE_ERROR)
|
||||
public Result online(@ApiIgnore @RequestAttribute(value = SESSION_USER) User loginUser,
|
||||
@ApiParam(name = "projectName", value = "PROJECT_NAME", required = true) @PathVariable("projectName") String projectName,
|
||||
@ApiParam(name = "projectName", value = "PROJECT_NAME", required = true) @PathVariable String projectName,
|
||||
@RequestParam("id") Integer id) {
|
||||
logger.info("login user {}, schedule setScheduleState, project name: {}, id: {}",
|
||||
loginUser.getUserName(), projectName, id);
|
||||
|
|
@ -199,7 +199,7 @@ public class SchedulerController extends BaseController {
|
|||
@PostMapping("/offline")
|
||||
@ApiException(OFFLINE_SCHEDULE_ERROR)
|
||||
public Result offline(@ApiIgnore @RequestAttribute(value = SESSION_USER) User loginUser,
|
||||
@ApiParam(name = "projectName", value = "PROJECT_NAME", required = true) @PathVariable("projectName") String projectName,
|
||||
@ApiParam(name = "projectName", value = "PROJECT_NAME", required = true) @PathVariable String projectName,
|
||||
@RequestParam("id") Integer id) {
|
||||
logger.info("login user {}, schedule offline, project name: {}, process definition id: {}",
|
||||
loginUser.getUserName(), projectName, id);
|
||||
|
|
|
|||
|
|
@ -119,8 +119,8 @@ public class TenantController extends BaseController {
|
|||
@ResponseStatus(HttpStatus.OK)
|
||||
@ApiException(QUERY_TENANT_LIST_PAGING_ERROR)
|
||||
public Result queryTenantlistPaging(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser,
|
||||
@RequestParam("pageNo") Integer pageNo,
|
||||
@RequestParam(value = "searchVal", required = false) String searchVal,
|
||||
@RequestParam("pageNo") Integer pageNo,
|
||||
@RequestParam("pageSize") Integer pageSize) {
|
||||
logger.info("login user {}, list paging, pageNo: {}, searchVal: {}, pageSize: {}",
|
||||
loginUser.getUserName(), pageNo, searchVal, pageSize);
|
||||
|
|
|
|||
|
|
@ -72,9 +72,9 @@ public class UsersController extends BaseController {
|
|||
@ApiImplicitParam(name = "userName", value = "USER_NAME", type = "String"),
|
||||
@ApiImplicitParam(name = "userPassword", value = "USER_PASSWORD", type = "String"),
|
||||
@ApiImplicitParam(name = "tenantId", value = "TENANT_ID", dataType = "Int", example = "100"),
|
||||
@ApiImplicitParam(name = "queue", value = "QUEUE", dataType = "Int", example = "100"),
|
||||
@ApiImplicitParam(name = "email", value = "EMAIL", dataType = "Int", example = "100"),
|
||||
@ApiImplicitParam(name = "phone", value = "PHONE", dataType = "Int", example = "100"),
|
||||
@ApiImplicitParam(name = "queue", value = "QUEUE", dataType = "String"),
|
||||
@ApiImplicitParam(name = "email", value = "EMAIL", dataType = "String"),
|
||||
@ApiImplicitParam(name = "phone", value = "PHONE", dataType = "String"),
|
||||
@ApiImplicitParam(name = "state", value = "STATE", dataType = "Int", example = "1")
|
||||
})
|
||||
@PostMapping(value = "/create")
|
||||
|
|
@ -105,8 +105,8 @@ public class UsersController extends BaseController {
|
|||
*/
|
||||
@ApiOperation(value = "queryUserList", notes = "QUERY_USER_LIST_NOTES")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "100"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", type = "String"),
|
||||
@ApiImplicitParam(name = "pageNo", value = "PAGE_NO", dataType = "Int", example = "1"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", dataType = "Int", example = "10"),
|
||||
@ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", type = "String")
|
||||
})
|
||||
@GetMapping(value = "/list-paging")
|
||||
|
|
@ -114,8 +114,8 @@ public class UsersController extends BaseController {
|
|||
@ApiException(QUERY_USER_LIST_PAGING_ERROR)
|
||||
public Result queryUserList(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser,
|
||||
@RequestParam("pageNo") Integer pageNo,
|
||||
@RequestParam(value = "searchVal", required = false) String searchVal,
|
||||
@RequestParam("pageSize") Integer pageSize) {
|
||||
@RequestParam("pageSize") Integer pageSize,
|
||||
@RequestParam(value = "searchVal", required = false) String searchVal) {
|
||||
logger.info("login user {}, list user paging, pageNo: {}, searchVal: {}, pageSize: {}",
|
||||
loginUser.getUserName(), pageNo, searchVal, pageSize);
|
||||
Map<String, Object> result = checkPageParams(pageNo, pageSize);
|
||||
|
|
@ -147,9 +147,9 @@ public class UsersController extends BaseController {
|
|||
@ApiImplicitParam(name = "userName", value = "USER_NAME", type = "String"),
|
||||
@ApiImplicitParam(name = "userPassword", value = "USER_PASSWORD", type = "String"),
|
||||
@ApiImplicitParam(name = "tenantId", value = "TENANT_ID", dataType = "Int", example = "100"),
|
||||
@ApiImplicitParam(name = "queue", value = "QUEUE", dataType = "Int", example = "100"),
|
||||
@ApiImplicitParam(name = "email", value = "EMAIL", dataType = "Int", example = "100"),
|
||||
@ApiImplicitParam(name = "phone", value = "PHONE", dataType = "Int", example = "100"),
|
||||
@ApiImplicitParam(name = "queue", value = "QUEUE", dataType = "String"),
|
||||
@ApiImplicitParam(name = "email", value = "EMAIL", dataType = "String"),
|
||||
@ApiImplicitParam(name = "phone", value = "PHONE", dataType = "String"),
|
||||
@ApiImplicitParam(name = "state", value = "STATE", dataType = "Int", example = "1")
|
||||
})
|
||||
@PostMapping(value = "/update")
|
||||
|
|
|
|||
|
|
@ -16,11 +16,14 @@
|
|||
*/
|
||||
package org.apache.dolphinscheduler.api.controller;
|
||||
|
||||
import io.swagger.annotations.ApiParam;
|
||||
|
||||
import org.apache.dolphinscheduler.api.service.WorkFlowLineageService;
|
||||
import org.apache.dolphinscheduler.api.utils.Result;
|
||||
import org.apache.dolphinscheduler.common.utils.ParameterUtils;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.apache.dolphinscheduler.dao.entity.User;
|
||||
import org.apache.dolphinscheduler.dao.entity.WorkFlowLineage;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -34,6 +37,7 @@ import java.util.Map;
|
|||
import java.util.Set;
|
||||
|
||||
import static org.apache.dolphinscheduler.api.enums.Status.QUERY_WORKFLOW_LINEAGE_ERROR;
|
||||
import static org.apache.dolphinscheduler.common.Constants.SESSION_USER;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("lineages/{projectId}")
|
||||
|
|
@ -45,7 +49,9 @@ public class WorkFlowLineageController extends BaseController {
|
|||
|
||||
@GetMapping(value="/list-name")
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
public Result<List<WorkFlowLineage>> queryWorkFlowLineageByName(@ApiIgnore @RequestParam(value = "searchVal", required = false) String searchVal, @ApiParam(name = "projectId", value = "PROJECT_ID", required = true) @PathVariable int projectId) {
|
||||
public Result<List<WorkFlowLineage>> queryWorkFlowLineageByName(@ApiIgnore @RequestAttribute(value = SESSION_USER) User loginUser,
|
||||
@ApiParam(name = "projectId", value = "PROJECT_ID", required = true, example = "1") @PathVariable int projectId,
|
||||
@ApiIgnore @RequestParam(value = "searchVal", required = false) String searchVal) {
|
||||
try {
|
||||
searchVal = ParameterUtils.handleEscapes(searchVal);
|
||||
Map<String, Object> result = workFlowLineageService.queryWorkFlowLineageByName(searchVal,projectId);
|
||||
|
|
@ -58,7 +64,9 @@ public class WorkFlowLineageController extends BaseController {
|
|||
|
||||
@GetMapping(value="/list-ids")
|
||||
@ResponseStatus(HttpStatus.OK)
|
||||
public Result<Map<String, Object>> queryWorkFlowLineageByIds(@ApiIgnore @RequestParam(value = "ids", required = false) String ids,@ApiParam(name = "projectId", value = "PROJECT_ID", required = true) @PathVariable int projectId) {
|
||||
public Result<Map<String, Object>> queryWorkFlowLineageByIds(@ApiIgnore @RequestAttribute(value = SESSION_USER) User loginUser,
|
||||
@ApiParam(name = "projectId", value = "PROJECT_ID", required = true, example = "1") @PathVariable int projectId,
|
||||
@ApiIgnore @RequestParam(value = "ids", required = false) String ids) {
|
||||
|
||||
try {
|
||||
ids = ParameterUtils.handleEscapes(ids);
|
||||
|
|
|
|||
7
pom.xml
7
pom.xml
|
|
@ -118,6 +118,7 @@
|
|||
<servlet-api.version>2.5</servlet-api.version>
|
||||
<swagger.version>1.9.3</swagger.version>
|
||||
<springfox.version>2.9.2</springfox.version>
|
||||
<swagger-models.version>1.5.24</swagger-models.version>
|
||||
<guava-retry.version>2.0.0</guava-retry.version>
|
||||
</properties>
|
||||
|
||||
|
|
@ -541,6 +542,12 @@
|
|||
<version>${springfox.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>io.swagger</groupId>
|
||||
<artifactId>swagger-models</artifactId>
|
||||
<version>${swagger-models.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>swagger-bootstrap-ui</artifactId>
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ springfox-swagger-ui-2.9.2.jar
|
|||
springfox-swagger2-2.9.2.jar
|
||||
swagger-annotations-1.5.20.jar
|
||||
swagger-bootstrap-ui-1.9.3.jar
|
||||
swagger-models-1.5.20.jar
|
||||
swagger-models-1.5.24.jar
|
||||
tephra-api-0.6.0.jar
|
||||
threetenbp-1.3.6.jar
|
||||
transaction-api-1.1.jar
|
||||
|
|
|
|||
Loading…
Reference in New Issue