【发布时间】:2017-04-10 18:50:07
【问题描述】:
我使用 Spring 创建控制器的大部分经验都是针对使用 JSON 格式请求的 REST 控制器。我一直在寻找有关如何对表单提交进行测试的文档,到目前为止,这就是我理解它应该使用 MockMvc 的方式:
MvcResult result = mockMvc.perform(post("/submit")
.param('title', 'test title')
.param('description', 'test description'))
.andReturn()
但是,我不确定如何将表单参数映射到模型对象。我已经看到@ModelAttribute 注释在我的搜索中弹出,但我不知道它应该如何用于映射。此外,官方文档中的this quick start guide 没有详细说明th:object 和th:field 之类的内容如何转换为HTML,然后转换为URL 编码形式。
我的控制器代码类似于以下内容:
@PostMapping('/submit')
def submit(@ModelAttribute WriteUp writeUp) {
//do something with writeUp object
'result'
}
【问题讨论】:
标签: spring spring-mvc groovy thymeleaf spring-test-mvc