java - 如何使用 Spring MVC 中的 @PathVariable 发送 Map<String, String>

标签 java spring spring-mvc

我想收到Map<Timestamp, Integer>PathVariable使用 Spring MVC。这可能吗?

这是我的 Controller :

@ApiOperation(value = "Some Api", produces = MediaType.APPLICATION_JSON_VALUE)
@PostMapping(consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
public ResponseEntity<RestResult> createApi(@RequestPart (value="image", required = false) MultipartFile banner, SomeRequest request){
    RestResult result = new RestResult();
    return new ResponseEntity<>(result, HttpStatus.CREATED);
}

这是我的要求:

@Getter
@Setter
public class SomeRequest implements Serializable {

    @NonNull
    private MultiValueMap<Timestamp, Integer> someValue;

}

最佳答案

作为使用 Spring 的 HandlerMethodArgumentResolver 并实现其 supportsParameter()resolveArgument() 方法的方法之一。最后一个接受方法参数和 Web 请求,您可以使用它们来获取任何所需的数据并组合您想要的对象。 参数解析器在 Controller 方法之前调用,并进行所需的参数转换。

更新: 您必须注册解析器才能使其处于 Activity 状态。如果使用spring-boot,只需将其定义为bean即可。

希望能有所帮助。

关于java - 如何使用 Spring MVC 中的 @PathVariable 发送 Map<String, String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59083628/

相关文章:

java - JPA 命名查询显示错误

java - 如何在 Spring RESTful 登录服务中安全地发送/存储密码

java - 运行时构建失败 "mvn clean install"

mysql - 无法删除或更新父行 ConstraintViolationException

java - XML 反序列化 java XSTream 问题

java - Hibernate工具Pojo Generation默认使用Set

java - Jxbrowser升级到4.3-版本检查

java - 难以构造 Arraylist 方法

java - 如何在 H2 中设置 sysdate? (供测试用)

Spring BeanCreationException : cannot resolve reference to bean exception