Web on Servlet Stack version 5.3.1

原文地址:https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#spring-web

1.1.11. Multipart Resolver

WebFlux

来自org.springframework.web.multipart包的MultipartResolver是一种用于解析包括文件上传在内的多部分请求的策略。有一种是基于Commons FileUpload的实现,另一种是基于Servlet 3.0多部分请求解析的实现。

要启用 multipart 处理,您需要在DispatcherServletSpring配置中声明一个名为multipartResolver的MultipartResolverbean。DispatcherServlet检测到它并将其应用到传入请求。                            当接收到 content-type 为multipart/form-data的 POST 时,解析器解析内容并将当前HttpServletRequest包装为MultipartHttpServletRequest,以提供对解析部分的访问,此外还将它们作为请求参数公开。

Apache CommonsFileUpload

要使用 Apache CommonsFileUpload,可以配置CommonsMultipartResolver类型的bean,名称为CommonsMultipartResolver。您还需要将commons-fileupload作为 classpath 的依赖项。

1.3.2. Request Mapping

WebFlux

您可以使用@RequestMapping注解将请求映射到控制器方法。它有各种属性来匹配URL、HTTP方法、请求参数、头和媒体类型。您可以在类级别使用它来表示共享映射,也可以在方法级别使用它来缩小到特定的端点映射。

也有HTTP方法特有的快捷方式@RequestMapping:

@GetMapping

@PostMapping

@PutMapping

@DeleteMapping

@PatchMapping

快捷方式是定制注解,因为与使用@RequestMapping相比,大多数控制器方法都应该映射到特定的HTTP方法,而@RequestMapping在默认情况下与所有HTTP方法匹配。同时,在类级别上仍然需要@RequestMapping来表示共享映射。

下面的示例具有类型级和方法级映射:

Java

Kotlin

@RestController@RequestMapping("/persons")classPersonController{@GetMapping("/{id}")publicPersongetPerson(@PathVariableLong id){// ...}@PostMapping@ResponseStatus(HttpStatus.CREATED)publicvoidadd(@RequestBodyPerson person){// ...}}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容