Примерно так:
Код: Выделить всё
app.MapPost("/save", (
[FromHeader(Name = "X-Api-Version")] SaveVersion version, // how to constraint this to v1?
[FromBody] SaveRequestV1 request
) => "Do something");
app.MapPost("/save", ( // this is considered duplicate route
[FromHeader(Name = "X-Api-Version")] SaveVersion version,
[FromBody] SaveRequestV2 request
) => "Do another thing");
public enum SaveVersion
{
v1 = 1,
v2
};
public class SaveRequestV1
{
public string Name { get; set; }
public bool IsMember { get; set; }
}
public class SaveRequestV2
{
public string Name { get; set; }
public int MemberStatus { get; set; }
}
Я надеялся, что смогу это сделать
Код: Выделить всё
[FromHeader(Name = "X-Api-Version:regex(^1$)")]
Может ли Swagger понять это управление версиями по заголовку запроса?
Подробнее здесь: https://stackoverflow.com/questions/783 ... inimal-api