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

我正在努力在其余 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"

        }

    ]

}

你能指导我如何在邮递员中传递这些参数吗?


提前致谢!


慕桂英4014372
浏览 220回答 2
2回答

婷婷同学_

我认为 a@PathVariable不适合这个目的。@PathVariable表示参数是 URL 的一部分。假设有 a@PathVariable("id")和 a @RequestMapping(value = "/groups/{id}")。然后id的值将作为参数传递{id}。在您的情况下,获得结果的最佳方法是创建一些 Model 类并将列表添加到其中DateRange作为属性:我刚刚对案例进行了建模,它对我来说很好用:public class DateRange {&nbsp; private Date fromDate;&nbsp; private Date toDate;&nbsp; public Date getFromDate() {&nbsp; &nbsp; return fromDate;&nbsp; }&nbsp; public void setFromDate(Date fromDate) {&nbsp; &nbsp; this.fromDate = fromDate;&nbsp; }&nbsp; public Date getToDate() {&nbsp; &nbsp; return toDate;&nbsp; }&nbsp; public void setToDate(Date toDate) {&nbsp; &nbsp; this.toDate = toDate;&nbsp; }}public class DateRangeModel {&nbsp; @JsonProperty&nbsp; private List<DateRange> dateRanges;&nbsp; public List<DateRange> getDateRanges() {&nbsp; &nbsp; return dateRanges;&nbsp; }&nbsp; public void setDateRanges(List<DateRange> dateRanges) {&nbsp; &nbsp; this.dateRanges = dateRanges;&nbsp; }&nbsp; public DateRangeModel() {&nbsp; }}&nbsp; @RequestMapping(&nbsp; &nbsp; &nbsp; value = "/testapi/test", method = RequestMethod.PUT,&nbsp; &nbsp; &nbsp; produces = MediaType.APPLICATION_JSON_UTF8_VALUE)&nbsp; public @ResponseBody DateRangeModel test(&nbsp; &nbsp; &nbsp; @RequestBody DateRangeModel data,&nbsp; &nbsp; &nbsp; HttpServletRequest request) {&nbsp; &nbsp; return data;&nbsp; }请求正文:{&nbsp; &nbsp; "dateRanges": [&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "fromDate": "2018-10-26",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "toDate": "2018-10-29"&nbsp; &nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "fromDate": "2018-10-21",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "toDate": "2018-10-20"&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; ]}回复:{&nbsp; &nbsp; "dateRanges": [&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "fromDate": 1540501200000,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "toDate": 1540760400000&nbsp; &nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "fromDate": 1540069200000,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "toDate": 1539982800000&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; ]}当然日期反序列化的问题不在现场

慕田峪4524236

您可以添加两个日期,例如 fromDate 和 toDatepublic ResponseEntity<String> periodData(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @RequestHeader(value = "Authorization") String authorization,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @PathVariable("partyGroupId") String partyGroupId,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @PathVariable("fromDate") String fromDate,@PathVariable("toDate") String toDate){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return response;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java