js 对象到 mvc 中的 java 个对象

js objects to java objects in mvc

我是 MVC 的新手,一般来说是全栈网络环境。我正在查看 Web 应用程序的源代码并尝试查找 js 对象和定义的后端 java 对象之间的映射在哪里。代码的结构看起来与此类似。 BuildingsController 中的函数是


    @RequestMapping(value = "/AddNewBuilding", method = RequestMethod.POST)
    public @ResponseBody ResponseEntity<Object> AddNewBuilding(@RequestBody Building bld, HttpServletRequest request,HttpServletResponse response){

其中建筑物定义为

public class Building {
String name;
String city;
String address;
Owner owner;

我们在前端 (reactjs) 中填充了变量名称、城市等。并将它们发送到后端。

 let params = {
     
      name: name,
      city: city;
      address: address,
      owner: owner,
    };

    axios({
      method: "post",
      url: "./Buildings/AddNewBuilding",
      data: params,
    })  

我无法在源代码中的任何地方找到 Java 对象 Building 和 js 对象参数之间的映射。我应该在哪里查看,它们在 Spring 中的映射方式如何?

这看起来像一个 Spring 项目,因此它将使用 Jackson 进行(反)序列化。

映射有点“神奇”,因为框架将使用变量名称来匹配 json 字符串中的键。因此,在您的示例中,名称、城市和地址将映射到相应的变量。

现在,Owner 是一个对象,因此它会再次将(嵌套的)json 映射到变量名称。

接下来,如果名称不匹配,您可以注释 Java 变量。即 @JsonProperty

有一个全新的映射可能性世界,但关键是,如果没有配置,它将默认匹配变量名。