以JSON格式,Model Binder在项目模型之间转移

时间:2016-03-18 19:03:07

标签: asp.net

如果您输入浏览器链接/ APIA / GetA / a / a / a / a,则显示json中的数据(modela2)。

{
  "id11": "a",
  "id22": "a",      
}

尝试传达模型modela第二个项目并获得modela2的第一个项目。

modela在第二个项目中通过。

第一个回到modela2的项目无法获得。

此行不返回数据

var response = client.PostAsJsonAsync(APP_PATH + "/APIA/GetA", modela).Result;

return response.StatusCode.ToString();
  

readm2

     

NOTFOUND

if (response.IsSuccessStatusCode) {
  

项目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();
                }
        }
    }

项目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; }        
    }

1 个答案:

答案 0 :(得分:0)

纠正错误。

它改变了这样:

2

[HttpPost]

〔路线( “POSTA / {ID} / {名称}”)]

公共Game2 PostA([ModelBinder]游戏)

1

var response = client.PostAsJsonAsync(APP_PATH +“/ APITest / PostA / i / i”,游戏).Result;