ГОЛОВА
Метод HTTP HEAD запрашивает заголовки, которые будут возвращены, если HEAD вместо этого URL-адрес запроса был запрошен методом HTTP GET.
Например, если URL-адрес может привести к большой загрузке, запрос HEAD может прочитать его заголовок Content-Length для проверки размера файла без фактической загрузки файла.
Мой вопрос, как мне получить такое поведение в моей минимальной конечной точке API.
всякий раз, когда я тестирую свою конечную точку API в сравнении с кодом через Thunder-Client, она возвращает ошибку, когда я выбираю HEAD VERB
405 Method Not Allowed
Однако загрузка осуществляется через GET VERB.
Я очень благодарен за любой пример использования HEAD VERB или за некоторые настройки, которые, возможно, я не знаю, как настроить.
код в этом примере относится к следующему вопросу о переполнении стека Минимальный API ASP.NET Как вернуть/загрузить файлы с URL-адреса
app.MapGet(@"download/{fileName}", async (string fileName) =>
{
var mimeType = "application/zip";
var path = @$"e:\{fileName}.zip";
var bytes = await File.ReadAllBytesAsync(path);
return Results.File(bytes, mimeType, $"{fileName}.zip");
})
.Produces(StatusCodes.Status200OK)
.Produces(StatusCodes.Status404NotFound)
.WithName($"GET {EndpointCategory} by Name")
.WithTags(Tag);
Нет необходимости в ReadAllBytes и ненужном выделении памяти для каждого запроса.





Используйте MapMethods с соответствующим глаголом (docs):
app.MapMethods(@"download/{fileName}", new[] { "HEAD" }, async (string fileName) => ...);
Я использую как app.MapMethods("download/{fileName}", new[] { "GET", "HEAD" }, async (string fileName) =>
learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis/…