に達し、ここに私のコードがあるサーバからWebRequestクラスC#のAPIのヌルはかつて私は、私のAPIにサーバー側からの要求を送信しようとしていますAPI
var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost:59606/api/values/UserCheck");
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{\"username\":\"User\"," +
"\"password\":\"Mypassword\"," +
"\"logonfrom\":\"DOMAIN\\DomainName\"}";
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
Console.WriteLine(result);
Console.ReadLine();
}
月のAPIコード以下の通りです:
[HttpPost]
[ActionName("UserCheck")]
public bool UserCheck([FromBody]User value)
{
ContextType CT = ContextType.Domain;
if (value.logonfrom.Split('\\')[0] == "DOMAIN")
{
CT = ContextType.Domain;
}else if(value.logonfrom.Split('\\')[0] == "MACHINE")
{
CT = ContextType.Machine;
}else
{
return false;
}
return CheckCredentials(value.username, value.password, CT,value.logonfrom.Split('\\')[1]);
}
は私の要求はUserCheckのアクション、
([FromBody]User value)
の値に達したときにnullである
私はJSONからlogonfrom変数を削除すると、ユーザーのための私のクラスには誤りがない
public class User
{
public string username { get; set; }
public string password { get; set; }
public string system { get; set; }
public string IP { get; set; }
public string logonfrom { get; set; }
}
しかしを下回っている、私はパラメータ(値)が正常に私が送信したコンテンツをキャプチャ意味。
ありがとうございました
単純なjson形式のスラッシュをjson文字列から削除するだけです。 – Koderzzzz
こんにちは、ありがとう答えが、それでもnullは私のシンプルなjson形式の文字列json = "{username:User、" + "パスワード:Mypasswod" + "logonfrom:DOMAIN \\ Domainname}"; –