有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在试图使用spring发布数据时获得空值

我使用spring框架制作了一个crud ajax rest应用程序。问题是: 当我从客户端向服务器发送帖子时,我得到的对象中填充了空值,从客户端我的状态是200。这是我的代码:

产品类别

public class Product {//getters,setters and toString() generated with Eclipse
     private Integer id;
     private String name;
     private String description;
     private String createdDate;
     private Integer placeStorage;
     private Boolean reserved;

休息控制器

@RestController
public class ProductRestController {
    
    @Autowired
    private ProductServiceImpl productService;
    
    @PostMapping(value = "/getRecord")
    public void addProduct(Product product) {
        System.out.println(product);
    }
    
}

AJAX函数

function sendRecord(data){
        $.ajax({
            type : 'POST',
            url : '/getRecord',
            contentType : "application/json",
            cache : false,
            dataType: 'json',
            processData:false,
            data: data,
            dataType:'json',
            success : function(data) {
                update_table();
            }
        });
    }

我发布的数据

Data that i am posting

我得到的数据

Data that i am getting


共 (1) 个答案

  1. # 1 楼答案

    看看@RequestBody注释https://www.baeldung.com/spring-request-response-body

    @PostMapping(value = "/getRecord")
        public void addProduct(@RequestBody Product product) {
            System.out.println(product);
        }
    

    它会自动将请求主体数据映射到产品对象中。如果你有时间也可以看看@RequestParam@PathVariable,它们都是用来获取数据的,并且以不同的方式实现不同的目标