Wenn Sie den Browserlink/APIA/GetA/a/a/a/a eingeben, werden die Daten (modela2) in json angezeigt.Übertragung zwischen Projektmodellen im JSON-Format, Modellbinder
{
"id11": "a",
"id22": "a",
}
Das erste Projekt versucht, das Modell modela zweite Projekt und erhalten modela2 zu vermitteln.
Modell im zweiten Projekt übergeben.
Das erste Projekt zurück modela2 kann nicht erhalten.
Auf dieser Linie nicht zurück Daten
var response = client.PostAsJsonAsync(APP_PATH + "/APIA/GetA", modela).Result;
return response.StatusCode.ToString();
readm2
NotFound
if (response.IsSuccessStatusCode) {
falsch
Projekt 1:
string readm2 = GetModelA2(token);
Console.WriteLine("readm2");
Console.WriteLine(readm2);
static string GetModelA2(string token)
{
using (var client = CreateClient(token))
{
//
var modela = new ModelA { };
...
var response = client.PostAsJsonAsync(APP_PATH + "/APIA/GetA", modela).Result;
if (response.IsSuccessStatusCode)
{
// Parse the response body.
var p = response.Content.ReadAsAsync<ModelA2>().Result;
//Console.WriteLine("{0}", p.Name);
return p.ToString();
}
}
}
Projekt 2:
[RoutePrefix("APIA")]
public class APIAController : ApiController
...
[Route("GetA/{id1}/{id2}/{id3}/{id4}")]
public ModelA2 GetA([ModelBinder]ModelA modela)
{
...
var modela2 = new ModelA2 { };
...
return modela2;
}
//
public class ModelA
{
public string id1 { get; set; }
public string id2 { get; set; }
public string id3 { get; set; }
public string id4 { get; set; }
}
public class ModelA2
{
public string id11 { get; set; }
public string id22 { get; set; }
}
Methoden sind Name wie Get, aber Sie tun HTTP Post. Es ist wirklich verwirrend. Hast du ** [HttpPost] ** Attribute vergessen? – Win