AMcoder - javascript, python, java, html, php, sql

Swagger. սխեմաները վերսկսվում են մեկ այլ սխեմայի սխալով [կրկնօրինակ]

Ես այժմ աշխատում եմ Ruby on Rails API-ի Swagger-ի փաստաթղթերի վրա: API-ն ունի բազմաթիվ հաշվիչներ (enums), որոնք ներառված են տարբեր մոդելներում: Համարները պահվում են app/models/concerns գրացուցակում, որպեսզի հասանելի լինեն բոլոր անհրաժեշտ մոդելներին:

State Enum (state.rb)

module State
  extend ActiveSupport::Concern
  included do
    enum state: { state1: 'State 1',
                  state2: 'State 2',
                  state3: 'State 3',
                  state4: 'State 4',
                  state5: 'State 5'' }
  end
end

Country Enum (country.rb)

module Country
  extend ActiveSupport::Concern
  included do
    enum country: { nigeria: 'Nigeria',
                    belarus: 'Belarus',
                    canada: 'Canada',
                    russia: 'Russia',
                    poland: 'Poland' }
  end
end

Այս 2 հաշվարարները ներառված են Օգտվողի մոդելում և այլ մոդելներում:

Օգտվողի մոդել (user.rb)

class User < ApplicationRecord
  include State
  include Country
end

Ադմինիստրատորի մոդել (admin.rb)

class Admin < ApplicationRecord
  include State
  include Country
end

Եվ, հետևաբար, դրանք Admin և User API-ների հարցումների մարմինների (բաղադրիչների) մի մասն են:

Ես ուզում եմ սա ներկայացնել Swagger-ի փաստաթղթերում այնպես, որ State և Country հաշվարարները կրկնօրինակված չլինեն միմյանց համար: Այլ կերպ ասած, ես այնուհետև սահմանում եմ որպես սխեմայի բաղադրիչներ և այնուհետև հղում եմ անում դրանք User և Admin սխեմայի բաղադրիչներում՝ ծածկագիրը DRY պահելու համար:

components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: integer
          format: int64
        first_name:
          type: string
        last_name:
          type: string
        password:
          type: string
          format: password
        state:
          schema:
            $ref: '#/components/schemas/State'
        country:
          schema:
            $ref: '#/components/schemas/Community'
    Admin:
      type: object
      properties:
        id:
          type: integer
          format: int64
        first_name:
          type: string
        last_name:
          type: string
        password:
          type: string
          format: password
        state:
          schema:
            $ref: '#/components/schemas/State'
        country:
          schema:
            $ref: '#/components/schemas/Country'
    State:
      type: string
      description: List of States
      enum: { state1: 'State 1',
              state2: 'State 2',
              state3: 'State 3',
              state4: 'State 4',
              state5: 'State 5'' }
    Country:
      type: string
      description: List of Countries
      enum: { nigeria: 'Nigeria',
              belarus: 'Belarus',
              canada: 'Canada',
              russia: 'Russia',
              poland: 'Poland' }
  end

Բայց հետո ես ստանում եմ այս սխալը

չպետք է ունենա լրացուցիչ հատկություններ

լրացուցիչ հատկություն՝ սխեման

Ես փորձել եմ բազմաթիվ լուծումներ, բայց թվում է, թե այս պահին ոչ մեկը չի աշխատում: Ես կգնահատեի ցանկացած ձևի օգնություն այս հարցում: Շնորհակալություն.


  • Կապակցված ^^ Հարց ու պատասխանը վերաբերում է OAS2-ին, սակայն պատասխանը ներառում է նաև OAS3 օրինակ: 24.03.2020
  • Ես այժմ փորձում եմ լուծումը: Ես շուտափույթ արձագանք կտամ: 24.03.2020

Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..