0

我创建了一个使用 Django 和 Angular 的应用程序,我想显示使用 UiPath Orchestratr API 为特定进程执行的作业。我在 Postman 上测试了 API,它运行良好。但是当我在我的 Angular 应用程序中实现它时,我得到了 404 错误。我可能做错了什么?

服务

public get_jobs() {
let UiPath_token = 'Bearer abc'
let myheader = new HttpHeaders({ 'Authorization': UiPath_token,'$top':'3', '$filter':"Release/Name eq 'process_name'"});
console.log(UiPath_token);
return this.httpWithoutInterceptor.get<any>(this.UiPath, {headers:myheader}).subscribe(data=>{
  let job_list=JSON.parse(data);
  console.log("Jobs :", job_list);});

在此处输入图像描述

在此处输入图像描述

按照 Kanishk Anand 的建议进行更改后出错: 在此处输入图像描述

谢谢

4

1 回答 1

2

您已使用${this.uiPath}, {headers: myheader}}which “字符串化”对象,因此导致了问题。您应该将 URL 作为单独的参数传递,并将标头作为options.

public get_jobs() {
let UiPath_token = 'Bearer abc'
let myheader = new HttpHeaders({ 'Authorization': UiPath_token,'$top':'3', '$filter':"Release/Name eq 'process_name'"});

console.log(UiPath_token);

return this.httpWithoutInterceptor.get<any>(this.UiPath, {headers:myheader}).subscribe(data=>{
  let job_list=JSON.parse(data);
  console.log("Jobs :", job_list);
});

对于 CORS 错误,以下是您的选项:

  1. 在 API 端点服务器上启用 CORS 标头以支持localhost:4200
  2. 将 API 调用代理到您的 Django 服务器并从那里访问 API 端点。这将要求您在 Django 上创建一个单独的 API 端点,以便 Angular 从您最终到达所需端点的位置命中

有关 CORS 标头的更多详细信息:https ://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

于 2021-12-15T06:34:52.987 回答