【问题标题】:Variables are not coming up null during Postman call在邮递员调用期间变量不会为空
【发布时间】:2021-12-31 20:45:20
【问题描述】:

设置一个 Java Postman 调用,为变量赋值,但它显示为 null。

        @PostMapping("/caStudents/student")
    public String generateSignedValue(@RequestBody StudentRequest studentRequest) throws Exception  
        String signedValue=studentService.getSignedValue(studentRequest);
        return signedValue;

我的 Pojo Student 班级

      public class StudentRequest {
      String user;
      Long duration ;
      public String getPublicKey() {
        return publicKey;
    }

    public void setPublicKey(String publicKey) {
        this.publicKey = publicKey;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public Long getDuration() {
        return duration;
    }

    public void setDuration(Long duration) {
        this.duration = duration;
    }

邮递员请求

{"studentRequest":[{"user":"admin","duration":19336}]}

【问题讨论】:

    标签: java spring spring-boot postman


    【解决方案1】:

    您的请求正文应如下所示:

    {"user":"admin","duration":19336}
    

    因为您将StudentRequest 作为RequestBody 得到,这意味着您应该在请求中发送不包含StudentRequestStudentRequest 内部属性, 第二个问题是您的 RequestBody 包含奇异对象而不是数组。

    【讨论】:

      【解决方案2】:

      根据您向我们提供的内容,您的请求实际上应该是

      {
         "user": "admin",
         "duration": 19336
      }
      

      如果您想一次提供多个学生请求(在一个数组中),那么您的 StudenRequest 班级应该看起来像这样:

      public class StudentRequest {
        List<StudentR>;
      
        // Getter and Setter or not in case you use lombok
      
        class StudenR {
           String user;
           Long duration ;
        }
      }
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-06
        • 1970-01-01
        • 1970-01-01
        • 2017-09-22
        • 1970-01-01
        相关资源
        最近更新 更多