J'utilise les versions suivantes:en utilisant des définitions externes Swagger/Zircote/Nelmio-api-doc
zircote/swagger-php in version 2.0.10
nelmio/api-doc-bundle in version v3.0.0-BETA4
Mon contrôleur avec une action
/**
* @Operation(
* tags={"DeliverySlip"},
* summary="Send information after deliveryItems are processed and deliverySlip was scanned",
* @SWG\Response(
* response="200",
* description="Returned when successful"
* ),
* @SWG\Response(
* response="400",
* description="Returned on a missing request parameter"
* ),
* @SWG\Response(
* response="500",
* description="Returned on any other error"
* ),
* @SWG\Parameter(
* name="slipIdentifier",
* description="identifier of delivery slip",
* type="string",
* format="string",
* in="path"
* ),
* @SWG\Parameter(
* name="JSON update body",
* in="body",
* description="json login request object",
* required=true,
* @SWG\Schema(ref="#/definitions/product")
* )
*)
*
* @Put("/deliveryslip/update/{slipIdentifier}", requirements={"slipIdentifier" = "\w+"})
*
* @param string $slipIdentifier
* @param Request $request
* @return JsonResponse
*/
public function updateDeliverySlipAction($slipIdentifier, Request $request)
Ce modèle est le/Définition Je veux utiliser dans mon contrôleur d'action:
<?php
namespace Sendis\Presentation\RestBundle\Model;
use Swagger\Annotations as SWG;
/**
* @SWG\Definition(
* definition="product",
* type="object",
* required={"name"}
*)
*/
class Product
{
/**
* @SWG\Property(example="doggie")
* @var string
*/
public $name;
}
Mais quand je vais sur ma page de documentation à/api/doc, je vois cette erreur:
Errors
Resolver error at paths./api/deliveryslip/update/{slipIdentifier}.put.parameters.1.schema.$ref
Could not resolve reference: #/definitions/product
La prochaine chose que je reconnaissais: Mon product.php ne semble pas être lu par swagger
du tout. Je peux écrire tout ce que je veux ici. Pas d'erreurs, même si je fais une faute d'orthographe. Ceci m'amène à la conclusion, que mon product.php n'a pas été trouvé par swagger
du tout.
Je suis utile pour chaque indice.
Cordialement, Max