ASP.NET CORE Дополнительные параметры маршрута показывают по мере необходимостиC#

Место общения программистов C#
Ответить
Anonymous
 ASP.NET CORE Дополнительные параметры маршрута показывают по мере необходимости

Сообщение Anonymous »

Документация по маршрутизации на веб -сайте Microsoft гласит следующее: < /p>

Параметры маршрута сделаны необязательными путем добавления знака вопроса () до конца имени параметра. Например, id? .

Вот действие контроллера тестового контроллера, которое я определил:

Код: Выделить всё

[ApiController]
[Route("[controller]")]
public class CutlistsController : ControllerBase
{
[HttpGet("{num:int?}")]
public ActionResult Test(int? num) => Ok(num);

}
< /code>
Вот настройка для моего сервера ASP.net Core Web API: < /p>
var builder = WebApplication.CreateBuilder();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddOpenApi();
builder.Services.AddControllers();

// ...DI stuff

var app = builder.Build();

if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
app.MapScalarApiReference();
app.UseCors(policyName: "MyPolicy");
}

app.MapControllers();

await app.StartAsync(token);
And when I run the app and open up the Scalar page I see that the parameter is required:
Изображение

What am I missing? Документация заставляет выглядеть так, как будто вам просто нужно отметить тип данных как нулевые и поместить знак вопроса на маршрут, и это будет работать. В случае использования - иметь маршрут, где, если я прохожу в идентификатор, я получу этот конкретный элемент, и если я этого не сделаю, я получу их все.

Подробнее здесь: https://stackoverflow.com/questions/796 ... s-required
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»