Apitte OpenApi – Nezobrazují se entity
- Menshons
- Člen | 1
Dobrý den,
používám apitte/core:0.5 s apitte/openapi:0.5.
Při definování jednotlivých endpointů se mi z nějakého důvodu
nezobrazí ve swagger UI panelu request a response entity.
Jsem si vědom, že se jedná o starší verze, bohužel nám rozsáhlost
projektu momentálně nedovolí přechod na Nette 3.
Dle dokumentace na dané verzi by neměl být problém. Stejný problém jsem
zaznamenal i pokud jsem vkládal objekt přes OpenApi anotaci.
Odkaz
na dokumentaci
Konfigurace:
api:
debug: true
catchException: true
plugins:
Apitte\Core\DI\Plugin\CoreDecoratorPlugin:
Apitte\Core\DI\Plugin\CoreMappingPlugin:
request:
validator: Apitte\Core\Mapping\Validator\SymfonyValidator(@annotations.reader)
Apitte\OpenApi\DI\OpenApiPlugin:
definition:
info:
title: API
version: "2.0.0"
swaggerUi:
panel: true
Apitte\Debug\DI\DebugPlugin:
debug: true
Definice entity:
final class UserLoginRequest extends BasicEntity
{
/**
* @var int
* @Assert\Type(
* type="integer",
* )
*/
public $userId = 10;
/**
* @var string
* @Assert\NotNull()
* @Assert\Email(
* )
*/
public $email;
}
Definice testovacího endpointu:
/**
* Get the most watched videos in 12 hours. The time period can be changed in the time-period parameter.
*
* @Path("/most-watched")
* @Method("POST")
* @Request(entity="Atreo\Api\Entity\UserLoginRequest")
* @RequestMapper(entity="Atreo\Api\Entity\UserLoginRequest")
* @Responses({
@Response(code="200", description="User logged in.", entity="Atreo\Api\Entity\UserLoginResponse"),
@Response(code="400", description="Wrong parameters."),
})
* @throws Exception
*/
public function mostWatched(ApiRequest $request, ApiResponse $response): ApiResponse
Zde jsem zkoušel různé varianty s různými anotacemi (Request, RequestMapper, Response), ale swagger žádné parametry nebo response objekt nezobrazí.
Děkuji za případné rady.
Editoval Menshons (19. 5. 2023 12:45)