2017-10-19 2 views
0

MVC初心者で、最近web apisを使用してテストサイトを開発しましたが、顧客の単純なIEnumerableリストを返す、WebApi Json Idは、他のフィールドがどこに表示されているかを取得しません。

iがPOSTMANその番組のレコードを使用して私のAPIをテストするが、Idは0(ID = 0)以下参照 [0を示すのIds] [1] [1]用の画像であることを示したとき:https://i.stack.imgur.com/4MqUb.png

below is my api/controller 


     public class CustomersController : ApiController{ 
      private ApplicationDbContext _context; 

      public CustomersController(){ 
       _context = new ApplicationDbContext(); 
      } 

      //GET api/Customer 
      public IEnumerable<CustomerDto> GetCustomers(){ 
       return _context.Customer.ToList().Select(Mapper.Map<Customer,CustomerDto>); 
      } 

>CUstomer MODEL 

     public class Customer 
     { 
       public int id{ get; set; } 
       [Required(ErrorMessage = "Please enter your name")] 
       [StringLength(255)] 
       public string Name{ get; set; } 
       public bool IsSubscribeToNewsLetter{ get; set; } 
       public MembershipType MembershipType{ get; set; } 
       [Display(Name = "Membership Type")] 
       public byte MembershipTypeId{ get; set; } 
       [Display(Name = "Date of Birth")] 
       [Min18YearsIfMember] 
       public DateTime? BirthDate{ get; set; } 
     } 
    } 



>CUSTOMERDTO MODEL 


    public class CustomerDto 
     { 
      public int id { get; set; } 
      [Required(ErrorMessage = "Please enter your name")] 
      [StringLength(255)] 
      public string Name { get; set; } 
      public bool IsSubscribeToNewsLetter { get; set; } 
      public byte MembershipTypeId { get; set; } 
      //[Min18YearsIfMember] 
      public DateTime? BirthDate { get; set; } 
     } 
     <i/> 
+0

私は申し訳ありません私は映画のリストイメージを添付しましたが、同じ問題が発生している顧客でも同じ問題 –

+0

CustomerとCustomerDtoモデルを表示できますか?オートマッファーがIdにマッチするものが見つからない可能性はありますか? – amburt05

+0

@ amburt05私の編集したバージョンの質問を見てください。フィールドの名前はDTOとモデルの両方で同じです –

答えて

0
問題は、私のマッピングプロファイルにあった私は原因この私のIDにidフィールドを無視してきた0時のように見せていた上記のマッピングでは、この

Mapper.CreateMap<CustomerDto, Customer>().ForMember(c=>c.id, opt=> opt.Ignore()); 
    Mapper.CreateMap<Customer, CustomerDto>().ForMember(c => c.id, opt => opt.Ignore()); 

のようにマッピングされているに:

は最終的に私は、上記の問題の原因を見つけました私は自分のマッピングを編集してシンプルなように

Mapper.CreateMap<CustomerDto, Customer>(); 
    Mapper.CreateMap<Customer, CustomerDto>(); 

上記の変更を行うと、私のapiは私のWebページにIDを表示します。 私は非常に初心者です。私はまだ上記の変更の影響を見つける必要があります/

関連する問題