从角度的发布请求中获取数据

时间:2020-02-04 10:02:35

标签: angular typescript

从发布请求中获取数据时遇到问题。我收到错误415。当我检查它。它只是像这样Today News发布。应该这样发布吗?

{

    "mediasource": "Today News"
}

我应该在哪里进行更改以及如何在发布后获取数据列表

HTML

<div class="card-body" (click)="TNews(mediasource='Today News')">
<img class="img-news" src="../../../assets/images/newsicon/news.png">
<h6 class="card-subtitle mb-2 text-muted"></h6>
<p class="card-text">Today News</p>
 </div>

组件

TNews(mediasource){
    console.log(mediasource)
    this.HomeNewsService.getTopNews(mediasource).subscribe(data => {
      console.log(data)
    });

    }

服务

export interface NewsRequest {
  mediaSource: string;
  }

getTopNews(mediaSource:NewsRequest) {
    console.log(mediaSource)
    return this.http.post(environment.apiBaseUrl+'/home/topnews', mediaSource).pipe(
      map((res: Response) =>{
        if(res['code'] !== 0){
          throw new Error(res['message']);
        }
      })
    )
  }

1 个答案:

答案 0 :(得分:0)

为此,您需要使用代理脚本并将其命名为 proxy.conf.json 在程序/角度应用程序内。在程序根目录中package.json和其他相邻位置附近创建它文件。

     {
      "/api/**": {
        "target": "http://192.168.1.4:8080",
        "secure": false,
        "loglevel": "debug",
        "changeOrigin": true
      }
    }

指向您的后端服务器。然后如下更新package.json

       "start": "ng serve --open --port 4400   --proxy-config proxy.conf.json ",

并通过

启动您的角度应用程序
npm start

对于生产,您需要使用选择的任何服务器配置代理,例如,如果您使用的是nginx check this nginnx docs,则称为反向代理。 有关角度代理脚本check this article的更多信息 希望这会有所帮助。