自定义DTO中的映射请求参数和字段?

gstackoverflow

我有以下课程:

public class MyDTO { 

       private String kiosk;
       ...
}

和以下网址:

http://localhost:1234/mvc/controllerUrl?kiosk=false

和以下控制器方法:

@RequestMapping(method = RequestMethod.GET, produces = APPLICATION_JSON)
@ResponseBody
public ResponseEntity<List<?>> getRequestSupportKludge(final MyDTO myDTO, BindingResult bindingResult) {
    ...
}

现在它可以正常工作,并且布尔字段可以正确解析。

现在,url参数已更改为:

http://localhost:1234/mvc/controllerUrl?new_kiosk=false

我不想在DTO中更改参数名称。有什么办法说弹簧来理解new_kiosk应该将请求参数值放入kiosk字段中?

主从

除了设置其他设置程序外,您还可以通过创建自定义参数解析程序来处理问题。您可以通过几种方法来解决这个问题,但是已经有一篇讨论充分的文章如果我是你,我会专注于jkee的答案。逐步进行操作,然后您要做的就是用类似以下内容的注释DTO,

public class MyDTO { 

       @ParamName("new_kiosk")
       private String kiosk;
       ...
}

请注意,即使您不能更改MyDTO类,也可以遵循自定义解析程序路线。在这个帖子我已经回答了如何编写参数类型注释。结合这两个帖子,您可以轻松地提出一个注释,例如@ParamMapper,它将定义从请求到属性的映射。想像

 getRequestSupportKludge(@ParamMapper("new_kiosk;kiosk") MyDTO myDTO, BindingResult bindingResult)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

请求参数的自定义Spring批注

如何通过从MapStruct中的存储库中获取映射到自定义字段类型

带有列表字段的休眠自定义DTO

自定义验证Spring请求参数

Spring Boot和Swagger 2 UI和自定义请求映射处理程序映射-映射问题

在AVPlayer的请求中添加自定义标头字段

RxSwift映射和绑定UITextView的文本到自定义对象的文本字段的方法?

使用Automapper进行自定义映射,其中目标中的字段是源中两个字段的串联

Dapper中的自定义映射

带有自定义标头和参数的RestTemplate GET请求导致400(空)

包含内容中的自定义字段

为请求映射标头创建自定义注释

Symfony 4表单,自定义DTO和实体关系

在WORKORDER中填充自定义X和Y字段

Dto自定义验证

通过两个步骤传递数据-自定义字段映射器和自定义Tasklet

form_for中的自定义字段

使用自定义参数进行推土机映射

在spring mvc中自定义绑定请求参数和filed在控制器方法bean的接受范围内

页面数组中的自定义字段

将请求对象和其他参数放入自定义装饰器中

Django Rest Framework:如何在GET请求的响应中添加自定义字段?

表单请求验证中的Laravel自定义字段名称

Flask-WTFoms字段中的自定义参数

React 中自定义字段的自定义验证

在翻译 dto 时自定义 onError 映射 rxjava

在 WooCommerce 中隐藏自定义字段

Spring Boot:请求参数中的自定义验证

在刀片视图 Laravel 中从 JSON 请求中获取特定的自定义字段