我在Get或Post方法BODY中找到Web API 2.0(请求和响应)的代码。有人能帮我解决这个问题吗?我想在Postman中基于Request Body来创建body JSON循环。
还没有连接到数据库,我只是想创建模板代码的 Postman 第一。
1.下面是APIcontroller =
的代码
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using ABC.Models;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace ABC.Controllers
{
public class Hitung6Controller : ApiController
{
[HttpPost]
public HttpResponseMessage Post([FromBody]Hitung7Model minta1)
{
var req1 = minta1.DistributorCode;
var hasil1 = new List<Hitung7Model>();
var hasil2 = new List<Hitung8Model>();
if (req1 != null)
{
hasil1.Add(new Hitung7Model()
{
rowNested1 = hasil2
});
hasil2.Add(new Hitung8Model()
{
});
}
return Request.CreateResponse(HttpStatusCode.OK, minta1);
}
1.代码Models =
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Newtonsoft.Json;
namespace ABC.Models
{
public class Hitung7Model
{
public string DistributorCode { get; set; }
public List<Hitung8Model> rowNested1 { get; set; }
}
public class Hitung8Model
{
public string ProductCode2 { get; set; }
}
}
1.我试着像这样输入Read Request many to many(ProductCode2
),但返回仅1(ProductCode2
):
在 Postman 我类型=
{
"DistributorCode" : "Abc",
"rowNested1": [
{
"ProductCode2" : "A1",
"ProductCode2" : "A2"
}
]
}
但是返回响应是这样的
{
"DistributorCode": "Abc",
"rowNested1": [
{
"ProductCode2": "A2"
}
]
}
1.我尝试像这样读取请求体,但我在Postman中得到错误,APiController
类中的错误也得到空引用。
另外,我想返回无限/无限循环(ProductCode2
),例如我输入Read Request。在Postman Read请求中:
[ProductCode2 = "A1"] until [ProductCode2 = "A100"] 100 row ProductCode2.
我需要返回响应嵌套循环完全一样读请求。 Postman 回复:
[ProductCode2 = "A1"] loop until [ProductCode2 = "A100"] 100 row ProductCode2.
我输入Postman Read Request,得到错误和空引用。
{
"DistributorCode": "Abcd",
"rowNested1": [
{
"ProductCode2": "A1"
}
]
"rowNested1": [
{
"ProductCode2": "A2"
}
]
"rowNested1": [
{
"ProductCode2": "A3"
}
]
}
我需要返回响应结构一样,读请求,嵌套循环无限(“ProductCode 2”):
{
"DistributorCode": "Abcd",
"rowNested1": [
{
"ProductCode2": "A1"
}
]
"rowNested1": [
{
"ProductCode2": "A2"
}
]
"rowNested1": [
{
"ProductCode2": "A3"
}
]
}
请问有没有人可以帮我解决我的问题?
1条答案
按热度按时间syqv5f0l1#
这里似乎有几个问题:
1.正确格式化请求正文。
1.从控制器中的请求中获取信息。
让我们首先处理请求体,您的模型显示您有一个
Hitung7Model
,它包含一个Hitung8Model
对象列表作为一个名为rowNested1
的字段。你会想要这样的东西:现在对于控制器,您将有一个
Hitung7Model
的示例和一个Hitung8Model
的列表。此外,如果
Hitung8Model
只包含一个字符串值,可能根本不需要它,您可以在Hitung7Model
上只包含一个字符串列表,因此如下所示:这意味着您可以使用以下请求体:
并相应地简化控制器,即您不再需要
Select(...)
子句来获取产品代码,而可以使用var productCodes = minta1.ProductCodes;
。