0

我們知道,Asp.net Web API 2具有用於通過id進行搜索的api/get/5方法。我需要通過電子郵件搜索,我發現這個here,我需要一個簡單的例子。我也研究了Angularjs的路由,並且我發現這個話題需要時間,從我今天必須完成的地方開始。通過郵件未標識

我的控制器的一部分爲api/users/5。

// GET: api/users/5   get user by id 
    public Users Get(int id) 
    { 
     Users user = db.Users.Find(id); 
     if (user == null) 
     { 
      throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); 
     } 
     return user; 
    } 

我的JS代碼

$http.get('/api/users'+ $scope.Email) 
 
     .success(function (response) { 
 
      $scope.users = response; 
 
     });
謝謝

+0

404(未找到)。 儘管電子郵件存在於db – Diamond

回答

1

嘗試通過電子郵件作爲參數。

public Users Get(string Email) 
    { 
     Users user = db.Users.Find(Email); 
     if (user == null) 
     { 
      throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); 
     } 
     return user; 
    } 
+0

404(Not Found)中。儘管電子郵件位於db – Diamond

+0

中,請嘗試檢查電子郵件的區分大小寫的ToLower(),或者調試代碼並檢查問題發生的位置。 – Sajal

0

我猜你在$ HTTP調用

$http.get('/api/users/'+ $scope.Email) 
     .success(function (response) { 
      $scope.users = response; 
     }); 

和ASP忘記 '/': -

public Users Get(string Email) 
    { 
     Users user = db.Users.Find(Email); 
     if (user == null) 
     { 
      throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); 
     } 
     return user; 
    } 

希望它可以幫助不知道:)

+0

謝謝你的回覆。 \t 404(未找到)。雖然電子郵件在數據庫中 – Diamond