我的api控制器中有一个具有以下签名的方法
[HttpGet]
[Route("api/Controller/GetResult")]
public ApiResult<List<IDocument>> GetResult(DateTime date, Guid id, List<Guid> Ids)
我需要使用PostMan调用它,但是我不知道如何发送最后一个参数,它是参数列表中Guid的列表,有帮助吗?
答案 0 :(得分:1)
您可以使用 JObject 替换所有参数,如下所示:
传递JSON:
{"date":"2019-02-17", "id":"00000000-0000-0000-0000-000000000001", "Ids":["00000000-0000-0000-0000-111111111111", "00000000-0000-0000-0000-222222222222"]}
动作:
public ApiResult<List<IDocument>> GetResult(JObject json)
{
DateTime date = json.FirstOrDefault(x => x.Name == "date"))?.Value.ToString(); // simple parameter
//----> output: "2019-02-17"
Guid id = new Guid(json.FirstOrDefault(x => x.Name == "id"))?.Value.ToString()); // simple parameter
//----> output: "00000000-0000-0000-0000-000000000001"
List<JToken> Ids = json.FirstOrDefault(x => x.Name = "Ids")?.Value.ToList(); // list
//----> output: ["00000000-0000-0000-0000-111111111111", "00000000-0000-0000-0000-222222222222"]
//you should specify the type of "JToken" values as this:
List<Guid> IdsList = new List<Guid>();
foreach (var Id in Ids)
{
IdsList.Add(new Guid(Id.Value<string>()));
}
}
答案 1 :(得分:0)
您可以使用邮递员内置Dynamic Variable $guid
。
这会在运行时生成v4样式的guid。
使用邮递员尝试此GET请求:
https://httpbin.org/anything?IDs=["{{$guid}}","{{$guid}}","{{$guid}}"]