Параметры маршрута сделаны необязательными путем добавления знака вопроса (
Код: Выделить всё
?Вот действие контроллера тестового контроллера, которое я определил:
Код: Выделить всё
[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);

What am I missing? Документация заставляет выглядеть так, как будто вам просто нужно отметить тип данных как нулевые и поместить знак вопроса на маршрут, и это будет работать. В случае использования - иметь маршрут, где, если я прохожу в идентификатор, я получу этот конкретный элемент, и если я этого не сделаю, я получу их все.
Подробнее здесь: https://stackoverflow.com/questions/796 ... s-required
Мобильная версия