为什么@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方法在发送响应时返回请求参数?的主要内容,如果未能解决你的问题,请参考以下文章

发送响应后如何在node.js api中运行后台任务?

expressjs不返回任何响应给html

如何在 Spring 响应式 WebClient 中返回 Kotlin Coroutines Flow

在带有 MVC REST API 的 SpringBoot 项目中返回 406 响应

服务器返回的14种常见HTTP状态码

从 Spring 控制器方法发送 Json 响应的最佳实践