は実際に私が2のWeb APIサービスを持って、両方のJSONデータWeb APIを使用したAsp.Net MVC Webアプリケーション?
のWeb APIサービス1返す:システムにログインするために使用します。システムは、ステータスが "True"の場合にユーザーがログインできるようにする必要があります。そうでない場合は、ユーザーがシステムにログインできないようにすべきです。 Web APIサービスのJson結果1:[{"UserID": "1"、 "ステータス": "True"、 "Name": "ABC"、 "Department": "IT"}]
Iサービスに正常にログインすることができます。システムへのログイン後、私はWeb API 2を使用します:
Web APIサービス2:ユーザーに関するデータを返します。ウェブAPIサービス2の JSON結果:[{ "ユーザID": "1"、 "タスク完了": "20"、 "タスク保留": "10"}]
ログインモデル: [ API 1]
public class Login
{
[Required(ErrorMessage = "Username is required")] // make the field required
[Display(Name = "username")] // Set the display name of the field
public string username { get; set; }
[Required(ErrorMessage = "Password is required")]
[Display(Name = "password")]
public string password { get; set; }
public string getname(string username) //This method check the user existence
{
string name = "";
//string connString=
// Read the connection string from the web.config file
using (SqlConnection conn = new SqlConnection("Conn Details"))
{
conn.Open();
// Calling scramble.NET dll to encode password
ScrambleNET.clScramble encrpt = new clScramble();
string encrptedPassword = encrpt.EncryptText(password);
string sql = "Execute splSystemLogin '" + username + "','" + encrptedPassword + "'";
SqlDataAdapter adp = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
adp.Fill(ds);
if (ds != null && ds.Tables[0].Rows.Count > 0)
{
name = ds.Tables[0].Rows[0]["Name"].ToString();
}
else
{
name = "";
}
}
return name;
}
}
コントローラー: [API 1]
public ActionResult Index(Login login)
{
if (ModelState.IsValid) // Check the model state for any validation errors
{
string uname = "";
uname = login.username;
string pword = "";
pword = login.password;
string url = "http://localhost:55506/api/Login/submit?username=" + uname + "&password=" + pword + "";
System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage responseMessage = client.GetAsync(url).Result;
var responseData = responseMessage.Content.ReadAsStringAsync().Result;
JsonConvert.DeserializeObject<List<LoginResult>>(responseData);
if (responseData.Contains("True"))
{
string name = "";
Clinicnameinfo = login.getname(login.username);
TempData["Name"] = Clinicnameinfo;
ViewData["Name"] = Clinicnameinfo;
return View("Show", login); // Return the "Show.cshtml" view if user is valid
}
else
{
ViewBag.Message = "Invalid Username or Password";
return View(); //return the same view with message "Invalid Username or Password"
}
}
else
{
return View();
}
return View();
}
今私がシステムにログインすることができます。しかし、私は2番目のAPIからデータを取得するために立ち往生しました。
は、どのように私は、タスクの詳細を表示するには、ログイン後ウェブAPI 1でウェブAPI 2を比較することができますか?
ありがとうございます!!!成功した解決策を探すために探しています
Web API 1とWeb API 2のログイン方法を貼り付けてください。問題を理解するのに役立ちます。 –
あなたの参照のために私のコードを追加しました@ J-Mean –