2016-05-16 3 views

答えて

1

のように見えるです。

JsonResultはMVCに由来するActionResultオブジェクトですが、IHttpActionResultはWeb APIに関連付けられています。あなたは、すべてのデータを返すようにしたくない場合は

また、しないでください。新しいオブジェクト結果モデルを構築し、必要なものだけを返します。

[ResponseType(typeof(UserModel))] 
public IHttpActionResult Get(string id) { 

    var user = db.AspNetUsers.FirstOrDefault(s => s.UserName == id); 
    if (user == null) 
     return NotFound(); 

    var data = new UserModel { 
     UserName = user.UserName, 
     Email = user.Email, 
     FirstName = user.FirstName, 
     LastName = user.LastName, 
     Roles = user.AspNetRoles.Select(s => s.Name).ToArray() 
     //...other properties you want to return 
    };  
    return Ok(data); 
} 

public class UserModel { 
    public string UserName { get; set; } 
    public string Email { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string[] Roles { get; set; } 
} 
0

私は私の問題を修正するには、

+2

たくさん

[ResponseType(typeof(UserModel))] public IHttpActionResult Get(string id) { var user = db.AspNetUsers.Include(a=>a.AspNetRoles).Where(s => s.UserName == id).FirstOrDefault(); if (user == null) return NotFound(); var data = new UserModel { UserName = user.UserName, Email = user.Email, FirstName = user.FirstName, LastName = user.LastName, Roles = user.AspNetRoles.Select(s => s.Name).ToArray() //...other properties you want to return }; return Ok(data); } public class UserModel { public string UserName { get; set; } public string Email { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string[] Roles { get; set; } } 

おかげでこれはNkosiの解答のコピーペーストのように見える..... Nkosiの答えはほとんど変化を聖霊降臨祭。この答えを削除し、Nkosiの回答をAnswer(回答の横にあるチェックボックスを使用)とマークするとよいでしょう。これは、これが正しかったことを他の人に示すとともに、あなたを助けるためのNkosiポイントも授与されます。 – Igor

関連する問題