Member 13158288 Ответов: 0

Вызов контроллера api Angular2 из файла службы ts


Привет, у меня есть два решения
1. ASP.NET веб-приложение(.Net framework) (Web Api)
2. ASP.NET основное приложение (.Net Core)

в студии Visula 17.


import { Injectable } from '@angular/core';
import { Http, Response, Headers, RequestOptions, RequestMethod } from '@angular/http';
import 'rxjs/Rx';

import { Employee } from '../models/Employee'

@Injectable()
export class EmployeeManagementService {
    constructor(private http: Http) {
    }    
}

    addEmployeeDetails(employeeDetails: Employee) {

        var obj = {Firstname: employeeDetails.FirstName, LastName: employeeDetails.LastName, PhoneNumber: employeeDetails.PhoneNumber};

        let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' });
        let options = new RequestOptions({ method: RequestMethod.Post, headers: headers });

        let emp = JSON.stringify({ obj });

        return this.http.post('http://localhost:xyz/api/employee-management/create-employee', emp, options)
            .map((res: Response) => res.json())
            .toPromise();



public class EmployeeManagementApiController : ApiController
{
        //Create Employee
        [HttpPost]
        [Route("api/employee-management/create-employee")]
        public IHttpActionResult CreateEmployee([FromBody]Employee emp)
        {
            EmployeeService service = new EmployeeService();
            var serv = service.CreateEmployee(emp);

            if (serv.status == 1)
            {
                return Ok(emp);
            }
            else
                return new ResponseMessageResult(Request.CreateResponse(HttpStatusCode.PreconditionFailed, serv.message));
        }
}

Employee.ts file

<pre>
   public class Employee
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.None)]
        public Guid Id { get; set; }

        public string FirstName { get; set; }

        public string LastName { get; set; }

        public string PhoneNumber { get; set; }
    }

<pre>
 export class Employee {
    FirstName: string;
    LastName: string;
    PhoneNumber: string;
}


Мой ts-файл находится в одном решении,а мой api-в другом.
здесь я получаю вызовы к своему API, но все значения emp равны нулю. Я ничего не упускаю . Пожалуйста, помогите мне.

Заранее спасибо

Что я уже пробовал:

тот же код, который я пробовал с обычным контроллером в том же решении ,
если я отправляю отдельные значения параметров, они передаются в API-контроллер.

0 Ответов