eureka
tanghc 4 years ago
parent f12b6e7b01
commit 4451918acb
  1. 9
      sop-common/sop-service-common/src/main/java/com/gitee/sop/servercommon/param/ValidationAnnotationDefinitionFactory.java
  2. 3
      sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/controller/Example1001_BaseController.java
  3. 8
      sop-example/sop-story/src/main/java/com/gitee/sop/storyweb/controller/Example1002_FileUploadController.java

@ -17,6 +17,8 @@ import org.hibernate.validator.constraints.SafeHtml;
import org.hibernate.validator.constraints.ScriptAssert; import org.hibernate.validator.constraints.ScriptAssert;
import org.hibernate.validator.constraints.URL; import org.hibernate.validator.constraints.URL;
import org.hibernate.validator.constraints.UniqueElements; import org.hibernate.validator.constraints.UniqueElements;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.AssertFalse; import javax.validation.constraints.AssertFalse;
import javax.validation.constraints.AssertTrue; import javax.validation.constraints.AssertTrue;
@ -40,7 +42,9 @@ import javax.validation.constraints.Positive;
import javax.validation.constraints.PositiveOrZero; import javax.validation.constraints.PositiveOrZero;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
import java.lang.annotation.Annotation; import java.lang.annotation.Annotation;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -50,6 +54,8 @@ public class ValidationAnnotationDefinitionFactory {
private static final Map<Class<?>, ValidationAnnotationBuilder<?>> store = new HashMap<>(64); private static final Map<Class<?>, ValidationAnnotationBuilder<?>> store = new HashMap<>(64);
private static final List<Class<?>> excludeList = Arrays.asList(RequestParam.class, PathVariable.class);
static { static {
new BaseValidationAnnotationBuilder<ApiModelProperty>(){}; new BaseValidationAnnotationBuilder<ApiModelProperty>(){};
@ -107,6 +113,9 @@ public class ValidationAnnotationDefinitionFactory {
public static ValidationAnnotationDefinition build(Annotation annotation) { public static ValidationAnnotationDefinition build(Annotation annotation) {
Class<?> jsr303Anno = annotation.annotationType(); Class<?> jsr303Anno = annotation.annotationType();
if (excludeList.contains(jsr303Anno)) {
return null;
}
ValidationAnnotationBuilder validationAnnotationBuilder = store.get(jsr303Anno); ValidationAnnotationBuilder validationAnnotationBuilder = store.get(jsr303Anno);
if (validationAnnotationBuilder == null) { if (validationAnnotationBuilder == null) {
return null; return null;

@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
@ -138,7 +139,7 @@ public class Example1001_BaseController {
// 参数绑定 // 参数绑定
@Open(value = "story.param.bind", mergeResult = false) @Open(value = "story.param.bind", mergeResult = false)
@RequestMapping("/get/param/v1") @RequestMapping("/get/param/v1")
public StoryResult param(int id, String name) { public StoryResult param(@RequestParam("id") Integer id, @RequestParam String name) {
StoryResult result = new StoryResult(); StoryResult result = new StoryResult();
result.setName("参数绑定:id:" + id + ", name:" + name); result.setName("参数绑定:id:" + id + ", name:" + name);
return result; return result;

@ -10,6 +10,8 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Extension; import io.swagger.annotations.Extension;
import io.swagger.annotations.ExtensionProperty; import io.swagger.annotations.ExtensionProperty;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -38,7 +40,7 @@ public class Example1002_FileUploadController {
*/ */
@ApiOperation(value = "文件上传例1", notes = "上传文件demo") @ApiOperation(value = "文件上传例1", notes = "上传文件demo")
@Open("file.upload") @Open("file.upload")
@RequestMapping("file1") @PostMapping(value = "file1", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public FileUploadResult file1(FileUploadParam param) { public FileUploadResult file1(FileUploadParam param) {
// 获取上传的文件 // 获取上传的文件
MultipartFile file1 = param.getFile1(); MultipartFile file1 = param.getFile1();
@ -64,7 +66,7 @@ public class Example1002_FileUploadController {
// 多文件上传、不确定文件数量上传,必须申明下面这句,否则沙盒界面不会出现上传控件 // 多文件上传、不确定文件数量上传,必须申明下面这句,否则沙盒界面不会出现上传控件
, extensions = @Extension(properties = @ExtensionProperty(name = "multiple", value = "multiple"))) , extensions = @Extension(properties = @ExtensionProperty(name = "multiple", value = "multiple")))
@Open("file.upload2") @Open("file.upload2")
@RequestMapping("file2") @PostMapping(value = "file2", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public FileUploadResult file2(FileUploadParam2 param, HttpServletRequest request) { public FileUploadResult file2(FileUploadParam2 param, HttpServletRequest request) {
System.out.println(param.getRemark()); System.out.println(param.getRemark());
FileUploadResult result = new FileUploadResult(); FileUploadResult result = new FileUploadResult();
@ -78,7 +80,7 @@ public class Example1002_FileUploadController {
} }
@Open("file.upload3") @Open("file.upload3")
@RequestMapping("file3") @PostMapping(value = "file3", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public FileUploadResult file3(FileUploadParam2 param, HttpServletRequest request) { public FileUploadResult file3(FileUploadParam2 param, HttpServletRequest request) {
System.out.println(param.getRemark()); System.out.println(param.getRemark());
FileUploadResult result = new FileUploadResult(); FileUploadResult result = new FileUploadResult();

Loading…
Cancel
Save