Swagger не отображает ошибку проверки, вместо этого он возвращает код HTML - Laravel 9

Я настроил swagger для своих проектов, конечная точка работает нормально, если я даю правильный ввод, проблема возникает, когда я начинаю проверку, указав неправильные параметры, почтальон работает нормально и возвращает ошибку проверки, но swagger возвращает HTML-страницу.

Код чванства:

/**      * @OA\Put(      
*      path = "/api/admins/{id}/status",      
*      operationId = "updateAdminStatus",      
*      tags = {"Admin"},      
*      security = { {"sanctum": {} }},      
*      summary = "Update admin status",      
*      description = "Update an existing admin user's status by ID",      
*      @OA\Parameter(      
*          name = "id",      
*          in = "path",      
*          required=true,      
*          description = "Admin ID",      
*          @OA\Schema(type = "integer", format = "int32", example=1)      
*      ),      
*      @OA\RequestBody(      
*          required=true,      
*          description = "Pass admin data",      
*          @OA\JsonContent(      
*              required = {"status"},      
*              @OA\Property(property = "status", type = "integer", format = "int32", example=0)      
*          )      
*      ),      
*      @OA\Response(      
*          response=200,      
*          description = "Admin status updated successfully"      
*      ),      
*      @OA\Response(      
*          response=400,      
*          description = "Invalid input data"      
*      ),      
*      @OA\Response(      
*          response=401,      
*          description = "Unauthenticated"      
*      ),      
*      @OA\Response(      
*          response=404,      
*          description = "Admin not found"      
*      ),      
*      @OA\Response(      
*          response=500,      
*          description = "Internal server error"      
*      )      
* )      
*/

Часть проверки

`$validatedData = $request->validate([
            'status' => 'required|in:0,1'
        ]);
        throw_unless($validatedData);`

Ответ почтальона:

`
{
    "message": "The status field is required.",
    "errors": {
        "status": [
            "The status field is required."
        ]
    }
}`

Развязный ответ

Я попытался попробовать поймать в проверке.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
0
85
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пожалуйста, добавьте @OA\JsonContent() в тело ответа.

 *     @OA\Response(
 *         response=200,
 *         description = "success",
 *      @OA\JsonContent()
 *     ),
 *     @OA\Response(
 *         response=400,
 *         description = "invalid data",
 *          @OA\JsonContent()
 *     ),
 *     @OA\Response(
 *         response=500,
 *         description = "internal server error",
 *         @OA\JsonContent()
 *     ),

Попробуй это.

Другие вопросы по теме