fix: /api/request-manage/search падал 400 на пустом поле поиска
[ApiController] с Nullable enable считал string query обязательным параметром модели, а IHttpClient.buildUrl вырезает из URL пустые query-параметры целиком — пустое поле поиска (обычное состояние при открытии комбобокса выбора заявки) уходило вовсе без query и падало 400 ещё до контроллера. query и statuses — string?. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -23,7 +23,12 @@ public sealed class RequestManageController(RequestManageService service) : Cont
|
||||
[ProducesResponseType(typeof(ApiError), StatusCodes.Status404NotFound)]
|
||||
public async Task<IActionResult> Search(
|
||||
[FromQuery] int requestTypeId,
|
||||
[FromQuery] string query,
|
||||
// string? (не string) — [ApiController] с Nullable enable иначе считает
|
||||
// query обязательным параметром модели, а IHttpClient.buildUrl (см.
|
||||
// httpClient.ts) вырезает из URL пустые query-параметры целиком: пустое
|
||||
// поле поиска (обычное состояние при открытии комбобокса) присылало
|
||||
// запрос вовсе БЕЗ query, и такой запрос падал 400 ещё до контроллера.
|
||||
[FromQuery] string? query,
|
||||
[FromQuery] int page,
|
||||
[FromQuery] int? pageSize,
|
||||
CancellationToken ct) =>
|
||||
@@ -45,7 +50,7 @@ public sealed class RequestManageController(RequestManageService service) : Cont
|
||||
[HttpGet("by-approver")]
|
||||
[ProducesResponseType(typeof(ApiResponse<IReadOnlyList<UserApprovalRowDto>>), StatusCodes.Status200OK)]
|
||||
public async Task<IActionResult> ByApprover(
|
||||
[FromQuery] string approverEmail, [FromQuery] string statuses, CancellationToken ct)
|
||||
[FromQuery] string approverEmail, [FromQuery] string? statuses, CancellationToken ct)
|
||||
{
|
||||
var activeStatuses = (statuses ?? string.Empty)
|
||||
.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries)
|
||||
|
||||
Reference in New Issue
Block a user