为什么@GetMapping方法在发送响应时返回请求参数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么@GetMapping方法在发送响应时返回请求参数?相关的知识,希望对你有一定的参考价值。
我得到请求参数作为POJO并且在方法中什么都不做但是在jsp中显示我从请求获得的参数。为什么方法返回我的对象?另外,当我使用原始类型或String时,它不返回对象并且工作正常
调节器
@GetMapping("/ULD_details")
public String ULD_detailGet(ActionError ID){
return "ULD_detail";
JSP
<tr>
<td >ULD id</td>
<td>${actionError.ID}</td>
</tr>
链接
http://localhost:8080/UCM-controller/ULD_details?ID=1145
答案
它不会返回您的对象。它返回字符串“ULD_detail”,它是要执行的视图的名称。
执行此视图,并在请求属性(即模型中)中找到actionError
bean,因为Spring documentation about handler methods arguments说:
任何其他论点
如果方法参数与上述任何一个都不匹配,默认情况下,如果它是一个简单类型,它将被解析为@RequestParam,由BeanUtils#isSimpleProperty确定,否则解析为@ModelAttribute。
而documentation of ModelAttribute说:
默认模型属性名称是根据非限定类名称从声明的属性类型(即方法参数类型或方法返回类型)推断出来的:类“mypackage.OrderAddress”的“orderAddress”
以上是关于为什么@GetMapping方法在发送响应时返回请求参数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring 响应式 WebClient 中返回 Kotlin Coroutines Flow