我有查詢引數,例如/api/items?sizes=m,l,xxl,這意味著它們用逗號分隔。我想接受它們作為字串陣列([FromQuery] string[] sizes)。
我怎么做?我知道如何拆分字串,問題是我如何接受string[]并確保它知道如何拆分字串?
string[] sizes = request.Sizes.Split(",", StringSplitOptions.RemoveEmptyEntries);
uj5u.com熱心網友回復:
即使是 MVC 系結器也不支持這種轉換(它將需要以下格式之一的查詢字串:?sizes[0]=3344&sizes[1]=2222或?sizes=24041&sizes=24117)。
您可以嘗試使用自定義系結:
public class ArrayParser
{
public string[] Value { get; init; }
public static bool TryParse(string? value, out ArrayParser result)
{
result = new()
{
Value = value?.Split(',', StringSplitOptions.RemoveEmptyEntries) ?? Array.Empty<string>()
};
return true;
}
}
和用法:
app.MapGet("/api/query-arr", (ArrayParser sizes) => sizes.Value);
uj5u.com熱心網友回復:
嘗試在 URL 中使用 , 來替換逗號。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/511742.html
