为了账号安全,请及时绑定邮箱和手机立即绑定

如何在java中的rest url中传递起始日期和终止日期列表

如何在java中的rest url中传递起始日期和终止日期列表

慕桂英4014372 2021-12-10 12:42:41
我正在努力在其余 url 中传递起始日期和终止日期列表。例如:public ResponseEntity<String> periodData(            @RequestHeader(value = "Authorization") String authorization,            @PathVariable("partyGroupId") String partyGroupId,            @RequestBody DateRangeModel dateRangeModel){               return response;           }这是我的 DateRangeModel :public class DateRangeModel {    @JsonProperty    private List<DateRange> dateRanges;    public List<DateRange> getDateRanges() {        return dateRanges;    }    public void setDateRanges(List<DateRange> dateRanges) {        this.dateRanges = dateRanges;    }}请求体:{    "dateRanges": [        {          "fromDate": "2018-10-26",          "toDate": "2018-10-29"        },        {          "fromDate": "2018-10-21",          "toDate": "2018-10-20"        }    ]}你能指导我如何在邮递员中传递这些参数吗?提前致谢!
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

我认为 a@PathVariable不适合这个目的。@PathVariable表示参数是 URL 的一部分。假设有 a@PathVariable("id")和 a @RequestMapping(value = "/groups/{id}")。然后id的值将作为参数传递{id}。在您的情况下,获得结果的最佳方法是创建一些 Model 类并将列表添加到其中DateRange作为属性:我刚刚对案例进行了建模,它对我来说很好用:


public class DateRange {


  private Date fromDate;

  private Date toDate;


  public Date getFromDate() {

    return fromDate;

  }


  public void setFromDate(Date fromDate) {

    this.fromDate = fromDate;

  }


  public Date getToDate() {

    return toDate;

  }


  public void setToDate(Date toDate) {

    this.toDate = toDate;

  }

}


public class DateRangeModel {

  @JsonProperty

  private List<DateRange> dateRanges;


  public List<DateRange> getDateRanges() {

    return dateRanges;

  }


  public void setDateRanges(List<DateRange> dateRanges) {

    this.dateRanges = dateRanges;

  }


  public DateRangeModel() {

  }

}


  @RequestMapping(

      value = "/testapi/test", method = RequestMethod.PUT,

      produces = MediaType.APPLICATION_JSON_UTF8_VALUE)

  public @ResponseBody DateRangeModel test(

      @RequestBody DateRangeModel data,

      HttpServletRequest request) {

    return data;

  }

请求正文:


{

    "dateRanges": [

        {

          "fromDate": "2018-10-26",

          "toDate": "2018-10-29"

        },

        {

          "fromDate": "2018-10-21",

          "toDate": "2018-10-20"

        }

    ]

}

回复:


{

    "dateRanges": [

        {

            "fromDate": 1540501200000,

            "toDate": 1540760400000

        },

        {

            "fromDate": 1540069200000,

            "toDate": 1539982800000

        }

    ]

}

当然日期反序列化的问题不在现场


查看完整回答
反对 回复 2021-12-10
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

您可以添加两个日期,例如 fromDate 和 toDate


public ResponseEntity<String> periodData(

                @RequestHeader(value = "Authorization") String authorization,

                @PathVariable("partyGroupId") String partyGroupId,

                @PathVariable("fromDate") String fromDate,@PathVariable("toDate") String toDate){

                   return response;

               }


查看完整回答
反对 回复 2021-12-10
  • 2 回答
  • 0 关注
  • 219 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号