需要 OpenApi 3.0 requestBody

gay*_*tit 6 postman openapi postman-pre-request-script

我使用邮递员并使用 openAPI 3.0 创建 API。\n问题是当我发送此请求时,如果我添加主体或不添加主体,它会返回状态代码 200。我不明白,因为我说我的代码是请求主体和字段所需的在这个身体中,但没有什么价值(没有身体代码 200 和没有 GRP_CNOM 代码 200)...\nSomeOne 可以帮助我吗?

\n

我的 openAPI 代码:

\n
        post:\n            operationId: CreationGroup\n            summary: Creation groupe\n            requestBody:\n                $ref: '#/components/requestBodies/crea'\n            responses:\n                '200':\n                    description: '200 - Cr\xc3\xa9ation du groupe effectu\xc3\xa9'\n                    content:\n                        application/json:\n                            schema:\n                                type: object\n                                properties:\n                                    code:\n                                        type: integer\n                                    message:\n                                        type: string\n                                example:\n                                    code: 200\n                                    message: Le groupe a bien \xc3\xa9t\xc3\xa9 cr\xc3\xa9\xc3\xa9\n                '400':\n                    description: '400 - Cr\xc3\xa9ation du groupe \xc3\xa9chou\xc3\xa9e'\n                    content:\n                        application/json:\n                            schema:\n                                type: object\n                                properties:\n                                    code:\n                                        type: integer\n                                    message:\n                                        type: string\n                                example:\n                                    code: 200\n                                    message: Le groupe a \xc3\xa9chou\xc3\xa9e\n                '401':\n                    $ref: '#/components/responses/UnauthorizedError'\n                default:\n                    description: 'Erreur'\n                    content:\n                        application/json:\n                            schema:\n                                $ref: '#/components/schemas/Error'\ncomponents:\n    requestBodies:\n        crea:\n            required: true\n            content:\n                application/json:\n                    schema:\n                        $ref: '#/components/schemas/Group'\n                    example:\n                        $ref: '#/components/examples/oneGroupOrga'\n    securitySchemes:\n        jwtAuth:       \n            type: http\n            scheme: bearer\n            bearerFormat: JWT\n    examples:\n        oneGroupOrga:\n            value:\n                GRP_CNOM: Princ\n                GRP_SPKGROUPE: 2\n                GRP_SFKINSTANCE: 1\n                GRP_CBORDERCOLOR: "#F5370E"\n                GRP_BSOCIETE: true\n                GRP_BETABLISSEMENT: true\n                GRP_BUNITE: false\n                GRP_CSIRET: null\n                GRP_SFKAPE: 1\n                GRP_CCAPITAL: "200000"\n                GRP_SMOISDEBUTEXERCICECOMPTABLE: 1\n                GRP_CABREVIATIONSOCIETE: PR\n                GRP_CNUMEROTVAINTRACOMMUNAUTAIRE: ""\n                GRP_DCOEFFICIENTENCOURSCOMPTABLE: 70\n                GRP_CADRESSE: 113 boulevard de Lamasqu\xc3\xa8re\n                GRP_CCODEPOSTAL: "31600"\n                GRP_SFKVILLE: 1\n                GRP_SFKPAYS: 1\n                GRP_CENTETETEXTE: "PRINC"\n                GRP_CENTETEIMAGE: "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"\n                GRP_CPIEDDEPAGEIMAGE: "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"\n                GRP_CPIEDDEPAGETEXTE: "113 boulevard de Lamasqu\xc3\xa8re - 31600 MURET - 890720824"\n                GRP_SFKFONCTION: 1\n                GRP_DNOTATION: null\n                GRP_CCOMMENTAIRE: null\n                GRP_SFKFORMBUILDER: 1\n                GRP_CSIREN: "890 720 824"\n                GEG_SFKGROUPEPARENT120: 1\n                GRP_SFKGROUPETYPE: 650\n                ADM_COMPTEBANCAIRE:\n                    -\n                        CBC_SPKCOMPTE: 1\n                        CBC_CNOMDUCOMPTE: Compte courant\n                        CBC_CNOMDELABANQUE: CIC\n                        CBC_CDOMICILIATION: ""\n                        CBC_CBIC: ""\n                        CBC_CRIB: ""\n                        CBC_CIBAN: ""\n                        CBC_BPARDEFAUT: true\n                ADM_UTILISATEUR_GROUPE:\n                    -\n                        UGR_SFKUTILISATEUR: 1\n                        UGR_SFKFONCTION: 2\n    schemas:\n        Group:\n            type: object\n            discriminator:\n                propertyName: GRP_CNOM\n            required:\n                -\n                    GRP_CNOM\n            properties:\n                GRP_CNOM:\n                    type: string\n                GRP_SPKGROUPE:\n                    type: integer\n                GRP_SFKINSTANCE:\n                    type: integer\n                GRP_SFKROLE:\n                    type: integer\n                    nullable: true\n                GRP_CBORDERCOLOR:\n                    type: string\n                    nullable: true\n                GRP_BSOCIETE:\n                    type: boolean\n                GRP_BETABLISSEMENT:\n                    type: boolean\n                GRP_BUNITE:\n                    type: boolean\n                GRP_CSIRET:\n                    type: string\n                    nullable: true\n                GRP_SFKAPE:\n                    type: integer\n                    nullable: true\n                GRP_CCAPITAL:\n                    type: string\n                    nullable: true\n                GRP_SMOISDEBUTEXERCICECOMPTABLE:\n                    type: integer\n                    nullable: true\n                GRP_CABREVIATIONSOCIETE:\n                    type: string\n                    nullable: true\n                GRP_CNUMEROTVAINTRACOMMUNAUTAIRE:\n                    type: string\n                    nullable: true\n                GRP_DCOEFFICIENTENCOURSCOMPTABLE:\n                    type: number\n                    nullable: true\n                GRP_CADRESSE:\n                    type: string\n                    nullable: true\n                GRP_CCODEPOSTAL:\n                    type: string\n                    nullable: true\n                GRP_SFKVILLE:\n                    type: integer\n                    nullable: true\n                GRP_SFKPAYS:\n                    type: integer\n                    nullable: true\n                GRP_CENTETETEXTE:\n                    type: string\n                    nullable: true\n                GRP_CENTETEIMAGE:\n                    type: string\n                    format: byte\n                    nullable: true\n                GRP_CPIEDDEPAGEIMAGE:\n                    type: string\n                    format: byte\n                    nullable: true\n                GRP_CPIEDDEPAGETEXTE:\n                    type: string\n                    nullable: true\n                GRP_SFKFONCTION:\n                    type: integer\n                    nullable: true\n                GRP_DNOTATION:\n                    type: number\n                    nullable: true\n                GRP_CCOMMENTAIRE:\n                    type: string\n                    nullable: true\n                GRP_SFKFORMBUILDER:\n                    type: integer\n                    nullable: true\n                GRP_CSIREN:\n                    type: string\n                    nullable: true\n                GEG_SFKGROUPEPARENT120:\n                    type: integer\n                    nullable: true\n                GRP_SFKGROUPETYPE:\n                    type: integer\n                    enum:\n                        -\n                            650\n                        -\n                            651\n                        -\n                            652\n                GEG_SFKGROUPEENFANT122:\n                    type: array\n                    items:\n                        type: string\n                GEG_SFKGROUPEENFANT121:\n                    type: array\n                    items:\n                        type: object\n                        properties:\n                            GRP_SPKGROUPE:\n                                type: integer\n                            GRP_SFKGROUPETYPE:\n                                type: integer\n                                enum:\n                                    -\n                                        650\n                                    -\n                                        651\n                                    -\n                                        652\n                        required:\n                            -\n                                GRP_SPKGROUPE\n                            -\n                                GRP_SFKGROUPETYPE\n                ADM_COMPTEBANCAIRE:\n                    type: array\n                    items:\n                        type: object\n                        properties:\n                            CBC_SPKCOMPTE:\n                                type: integer\n                            CBC_CNOMDUCOMPTE:\n                                type: string\n                            CBC_CNOMDELABANQUE:\n                                type: string\n                            CBC_CDOMICILIATION:\n                                type: string\n                            CBC_CBIC:\n                                type: string\n                            CBC_CRIB:\n                                type: string\n                            CBC_CIBAN:\n                                type: string\n                            CBC_BPARDEFAUT:\n                                type: boolean\n                                default: false\n                        required:\n                            -\n                                CBC_CNOMDUCOMPTE\n                ADM_UTILISATEUR_GROUPE:\n                    type: array\n                    items:\n                        type: object\n                        properties:\n                            UGR_SFKUTILISATEUR:\n                                type: integer\n                            UGR_SFKFONCTION:\n                                type: integer\n                            UGR_SFKDROIT:\n                                type: integer\n                                enum:\n                                    -\n                                        59\n                                    -\n                                        60\n                        required:\n                            -\n                                UGR_SFKUTILISATEUR\n        Error:\n            type: object\n            properties:\n                code:\n                    type: integer\n                    format: int32\n                message:\n                    type: string\n    responses:\n        UnauthorizedError:\n            description: Le token est invalid ou manquant\nsecurity:\n    - \n        jwtAuth: [] ```\n
Run Code Online (Sandbox Code Playgroud)\n

Saf*_*fie 5

您可以将 放置required在 中paths而不是 中components。例如:

[...]
post:
    operationId: CreationGroup
    summary: Creation groupe
    requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/requestBodies/crea'
        responses:
[...]

Run Code Online (Sandbox Code Playgroud)

如果required会在components,那么每次使用时都需要它。但实际上,是否需要请求体取决于路由。这就是为什么他们喜欢您将其放在该paths部分中。