【问题标题】:Angular 2, C# MVC ApiController: Error on Get Request from C# Rest ApiAngular 2,C# MVC ApiController:从 C# Rest Api 获取请求时出错
【发布时间】:2017-06-05 20:23:21
【问题描述】:


我有 c# ApiController 的问题,我有一些这样的:

public class Heroes
{
    public int userId;
    public int id;
    public string title;
    public string body;
}

public class HeroesController : ApiController
{
    // ...

    // GET: api/Heroes/5
    public Heroes Get(int id)
    {
        Heroes u = new Heroes() 
        { 
            userId = 1, title = "some titile", body = "some body" 
        };
        return u;
    }

    // ...
}

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        config.Formatters.JsonFormatter.SupportedMediaTypes
            .Add(new MediaTypeHeaderValue("text/html"));

        config.Formatters.Remove(config.Formatters.XmlFormatter);
    }
}

Chrome 扩展 Restlet Client 的结果是正确的(200 ok)
请求“获取”发送到http://localhost:63854/api/Heroes/5

{
"userId": 1,
"id": 0,
"title": "some titile",
"body": "some body"
}

但是,当我以角度发送获取请求时,我收到一条错误消息

类型错误: WEBPACK_IMPORTED_MODULE_1_rxjs_Observable.Observable.throw 不是函数


和(角度)如果我使用外部休息 api,有些像这样
https://jsonplaceholder.typicode.com/posts
它的工作正常,返回结果,我没有任何错误消息。

C#控制器中Rest Api的错误在哪里?
我不怀疑错误是在角度方面。

对不起我的英语不好:c

【问题讨论】:

  • 错误在角度方面

标签: c# rest angular typescript


【解决方案1】:

尝试将此导入语句添加到客户端的顶部:

import 'rxjs/add/observable/throw';

【讨论】:

  • 谢谢,但现在我收到错误:0 - {"isTrusted":true}
  • 只在帖子上,为了修复我添加 customHeaders>
猜你喜欢
  • 1970-01-01
  • 2020-08-11
  • 1970-01-01
  • 1970-01-01
  • 2017-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多