【问题标题】:How to pass date in angular 8 GET request如何在 Angular 8 GET 请求中传递日期
【发布时间】:2020-10-22 08:59:47
【问题描述】:

我想在 Angular 8 $http Get 请求中传递日期。请建议我传递日期的正确方法是什么。

我想做这样的事情

public getCalendarData(Date): any {
        let myResponse = this.http.get(`${environment.BASE_URL}/getCalendarData` + '/' + new Date().toUTCString(), {
            headers: new HttpHeaders().set('SESSION-TOKEN', localStorage.getItem('jwt_token'))
        });
        console.log(myResponse);
        return myResponse;
    }

我必须将此 API https://api/getCalendarData/20-10-2020 与 angular 集成,但我不知道如何在 angular 8 $http Get 请求中传递日期,

【问题讨论】:

标签: angular


【解决方案1】:

这是您当前实现的 url 的样子:

<BASE>/getCalendarData/Thu, 22 Oct 2020 09:18:59 GMT

当然不理想,因为网址包含空格和逗号。

我宁愿建议将时间戳传递给您的后端:

const timestamp = Date.parse(new Date())

那么您的网址将如下所示:

<BASE>/getCalendarData/1603358349000

正如@MoxxiManagarm 提到的,另一种选择是在强制查询参数中发送日期,这将如下所示:

<BASE>/getCalendarData?timestamp=1603358349000

我认为这更好,因为路径变量的用法表明每个唯一日期都有具体的用法 - 可能没有。

另一个选项是发送一个 POST 请求,因为它可以包含一个正文,您可以在其中以任何您想要的方式格式化日期。这显然不符合 REST,但目前可能是一个实用的解决方案。

【讨论】:

    猜你喜欢
    • 2020-09-11
    • 2018-04-18
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    • 2020-10-24
    • 2021-12-29
    相关资源
    最近更新 更多