WebAPI2消耗形式angular2错误未找到

时间:2017-03-30 07:48:48

标签: web-services angular asp.net-web-api asp.net-web-api2

我不会在Angular2项目中使用Web Api2异步,但是当我尝试对该方法发出请求时,我有一些错误。

我的方法是:

 private baseUrl2 ='http://localhost:50348/api/Users/GetUsers'
    getuser(): Observable<IUser[]>
    {

        console.log(this.baseUrl2);
        return this.http.get(this.baseUrl2)
            .map(res => res.json())
            .do(data => console.log('getuser: ' + JSON.stringify(data)))
            .catch(this.handleError);
    }

WebApi上的[HttpGet]方法是:

[HttpGet]
    public IEnumerable<User> GetUsers()
    {
        return db.Users.ToList();
    }

我也配置了Microsoft.AspNetCore.Cors,在Startup.cs我设置了AllowSpecificOrigin策略:

public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors(options =>
            {
                options.AddPolicy("AllowSpecificOrigin",
                    builder => builder.WithOrigins("http://localhost:50348/"));
            });
        }

        public void Configure(IApplicationBuilder app)
        {

            // Shows UseCors with named policy.
            app.UseCors("AllowSpecificOrigin");

        }

但是当我运行我的角项目时,一个调用方法形成角项目我有一个错误:

  

对象{_body:对象,状态:404,ok:false,statusText:“不是   找到“,headers:Object,type:null,url:   “http://localhost:50348/api/Users/Ge ...”}

当我尝试从浏览器调用web api方法,而不是形成角度项目时,它可以正常工作

[{"Country":"test","Id":1,"Name":"test","OtherInfo":"test","Surname":"test"}]

什么错了?你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

你可以尝试

[HttpGet]
    public IEnumerable<dynamic> Get()
    {
        return _context.Employee.ToList();
    }