मैं फ़ाइल में कुछ अनुरोध बॉडी उदाहरण को परिभाषित करने की कोशिश कर रहा हूं और इस फ़ाइल को वास्तविक अनुरोध से लिंक कर रहा हूं, मैंने देखा कि हम ऐसा करने के लिए स्वैगर $ रेफरी का उपयोग कर सकते हैं उदाहरणों का पुन: उपयोग करना लेकिन मुझे इसे करने के लिए सही L5 Swagger सिंटैक्स नहीं मिल रहा है, कृपया कोई मदद करें।

मेरा कोड:

/**
 * @OA\Post(
 *     operationId="vehicleStore",
 *     tags={"vehicle"},
 *     summary="Store Vehicle - with components and trips (damages & loads)",
 *     description="Store vehicle",
 *     path="/vehicle",
 *     security={{"bearerAuth":{}}},
 *
 *     @OA\RequestBody(
 *       @OA\JsonContent(
 *          allOf={
 *                    @OA\Schema(ref="#/components/schemas/APIResponse"),
 *                    @OA\Schema(ref="#/components/schemas/CustomResponse")
 *               },
 *              examples={ @OA\Examples( externalValue="http://api.nytimes.com/svc/search/v2/articlesearch.json", summary="1" ) }
 *          )
 *      ),
 *
 *     @OA\Response(
 *         response="200",
 *         description="Successful",
 *          @OA\JsonContent()
 *      ),
 * )
 *
 * @return JsonResponse
 *
 */

मैं @OA\Examples का उपयोग करने की कोशिश कर रहा हूं, कृपया अगर कोई इसका उदाहरण दे सकता है कि हम इसे कैसे कर सकते हैं, तो यह बहुत अच्छा होगा

अपडेट करें

मैंने कुछ ऐसा करने की कोशिश की

/**
 *
 *      @OA\Examples(
 *        summary="VehicleStore",
 *        example = "VehicleStore",
 *       value = {
 *              "result": null,
 *              "message": "Unauthorized, you don't have access to this content, Invalid token.",
 *              "status": 401
 *         },
 *      )
 */

फिर

    /**
 * @OA\Post(
 *     operationId="vehicleStore",
 *     tags={"vehicle"},
 *     summary="Store Vehicle - with components and trips (damages & loads)",
 *     description="Store vehicle",
 *     path="/vehicle",
 *     security={{"bearerAuth":{}}},
 *
 *     @OA\RequestBody(
 *       @OA\JsonContent(
 *               allOf={
 *                      @OA\Schema(ref="#/components/schemas/APIResponse"),
 *                      @OA\Schema(ref="#/components/schemas/CustomRequestBody")
 *              },
*       examples = {
 *          @OA\Schema( ref="#/components/examples/VehicleStore")
    *
 *     }
 *
 *          )
 *      ),
 *
 *     @OA\Response(
 *         response="200",
 *         description="Successful",
 *          @OA\JsonContent()
 *      ),
 * )
 *
 * @return JsonResponse
 *
 */

Ui में इसका शो उदाहरण: VehicleStore लेकिन Example Value अभी भी ui में खाली है

here without the json example

2
Fadi 16 अक्टूबर 2020, 13:12

1 उत्तर

सबसे बढ़िया उत्तर

मुझे refs का उपयोग करने के साथ कई उदाहरण करने के लिए सही L5 सिंटैक्स मिला:

तो पहले मैं उदाहरणों को इस प्रकार परिभाषित करता हूं:

/**
 *      @OA\Examples(
 *        summary="VehicleStoreEx1",
 *        example = "VehicleStoreEx1",
 *       value = {
*           "name": "vehicle 1"
*         },
*      )
*/

/**
 *      @OA\Examples(
 *        summary="VehicleStoreEx2",
 *        example = "VehicleStoreEx2",
 *       value = {
 *              "name": "vehicle 1",
 *              "model": "Tesla"
 *         },
 *      )
 */

तब मैंने एक अनुरोध निकाय को परिभाषित किया क्योंकि मुझे एक अनुरोध के लिए कई उदाहरणों की आवश्यकता है, मुझे लगता है कि प्रतिक्रिया के लिए भी यही काम किया जा सकता है यदि किसी को कई उदाहरणों के साथ प्रतिक्रिया की आवश्यकता है तो मेरा अनुरोध निकाय था:

/**
 * @OA\RequestBody(
 *     request="VehicleStoreRequestBody",
 *     description="Pet object that needs to be added to the store",
 *     required=true,
 *     @OA\JsonContent(
 *        allOf={
 *           @OA\Schema(ref="#/components/schemas/APIResponse"),
 *           @OA\Schema(ref="#/components/schemas/CustomRequestBody")
 *        },
 *       examples = {
 *          "example_1" : @OA\Schema( ref="#/components/examples/VehicleStoreEx1"),
 *          "example_2" : @OA\Schema( ref="#/components/examples/VehicleStoreEx2"),
 *      }
 *    )
 * )
 */

तब मैंने अनुरोध निकाय को अनुरोध से जोड़ा:

/**
* @OA\Post(
 *     operationId="vehicleStore",
 *     tags={"vehicle"},
 *     summary="Store Vehicle - with components and trips (damages & loads)",
 *     description="Store vehicle",
 *     path="/vehicle",
 *     security={{"bearerAuth":{}}},
 *    requestBody={"$ref": "#/components/requestBodies/VehicleStoreRequestBody"},
*     @OA\Response(
 *         response="200",
 *         description="Successful",
 *          @OA\JsonContent()
 *      ),
 * )
 *
 * @return JsonResponse
*
 */

और जो एपीआई-docs.json में बहने वाली वस्तुओं को उत्पन्न करता है

        "examples": {
            "VehicleStoreEx1": {
                "summary": "VehicleStoreEx1",
                "value": {
                    "name": "vehicle 1"
                }
            },
            "VehicleStoreEx2": {
                "summary": "VehicleStoreEx2",
                "value": {
                    "name": "vehicle 1",
                    "model": "Tesla"
                }
            }
        },
        "requestBodies": {
            "VehicleStoreRequestBody": {
                "description": "Pet object that needs to be added to the store",
                "required": true,
                "content": {
                    "application/json": {
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/APIResponse"
                                },
                                {
                                    "$ref": "#/components/schemas/CustomRequestBody"
                                }
                            ]
                        },
                        "examples": {
                            "example_1": {
                                "$ref": "#/components/examples/VehicleStoreEx1"
                            },
                            "example_2": {
                                "$ref": "#/components/examples/VehicleStoreEx2"
                            }
                        }
                    }
                }
            }
        },

उम्मीद है कि यह किसी को भी कई उदाहरणों के साथ प्रतिक्रिया या अनुरोध करने का तरीका खोजने में मदद करेगा

1
Fadi 16 अक्टूबर 2020, 20:38