提问人:anto 提问时间:9/23/2023 最后编辑:Brian Tompsett - 汤莱恩anto 更新时间:9/23/2023 访问量:39
如何分配嵌套在 Web API 2.0 中的 LIST 类模型
How to assign LIST class models Nested in Web API 2.0
问:
我需要帮助来分配列表嵌套的 Web Api 2.0:
public HttpResponseMessage Post([FromBody] ZHitung1m respon1)
到目前为止,我的代码只能分配头等模型
我可以分配和呼叫,但不知何故我不能分配和呼叫= respon1.DistCode
= respon1.ProductCode
这里是我的模型类 WEB Api:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebAPI.Models
{
public class ZHitung1m
{
public string DistCode { get; set; }
public List<ZHitung2m> Row { get; set; }
public class ZHitung2m
{
public string ProductCode { get; set; }
}
}
}
这是我的 API 控制器use HttpResponseMessage Post =
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers
{
public class Zhitung1Controller : ApiController
{
[HttpPost]
public HttpResponseMessage Post([FromBody] ZHitung1m respon1)
{
var variable1 = respon1.DistCode;
if (variable1 == "anton")
{
respon1.DistCode = "budiman";
}
return Request.CreateResponse(HttpStatusCode.OK, respon1);
}
}
}
到目前为止,我只能分配()如何调用和分配()
?respon1.DistCode
respon1.ProductCode
在不更改我的 POSTMAN 中的嵌套结构的情况下, 这是我的邮递员结果:
- 有人知道打电话和分配()吗?
到目前为止,我尝试了
respon1.ProductCode
public class ZHitung2m : ZHitung1m
{
public string ProductCode { get; set; }
}
它的变化和我想要的邮递员结构。
2.
public class ZHitung1m : ZHitung2m
{
public string DistCode { get; set; }
public List<ZHitung2m> Row { get; set; }
}
public class ZHitung2m
{
public string ProductCode { get; set; }
}
使用此类模型代码,可以调用 assign ()
但也改变和打破了我想要的邮递员结构:respon1.ProductCode
答:
0赞
David House
9/23/2023
#1
让你的模型相互继承似乎根本不是你想做的,因为它们代表了不同的概念,即 包含一个列表,如果你从另一个继承一个,你说是一个类型,反之亦然。ZHitung1m
ZHitung2m
ZHitung1m
ZHitung2m
所以不需要继承......然后尝试以下操作(将变量名称更改为描述性名称):
namespace WebAPI.Controllers
{
public class Zhitung1Controller : ApiController
{
[HttpPost]
public HttpResponseMessage Post([FromBody] ZHitung1m respon1)
{
var variable1 = respon1.DistCode;
if (variable1 == "anton")
{
respon1.DistCode = "budiman";
}
foreach(var row in respon1.Row)
{
var variable2 = row.ProductCode;
... do something with variable2 or row here ...
}
return Request.CreateResponse(HttpStatusCode.OK, respon1);
}
}
}
评论
1赞
anto
9/23/2023
非常感谢你,David House,你的答案是正确的,我尝试一下你的代码,我可以调用/分配列表嵌套(行。产品代码)
评论