Forum Discussion

BostonKevin's avatar
BostonKevin
Contributor
6 years ago

Way to Model Response An Array of Different Objects With Identical Properties

Hi!

 

In Swagger Editor is there a way to model an array of objects each of which has identical properties but with different values for these properties?  This array is in a response to a delete operation and has the following structure:

{
  "Modifications_Following_DELETE": [
    {
      "rows_deleted": 0,
      "table_name": "Table_X"
    },
    {
      "rows_deleted": 0,
      "table_name": "Table_XX"
    },
    {
      "rows_deleted": 0,
      "table_name": "Table_BBBB"
    },
    {
      "rows_deleted": 0,
      "table_name": "Table_CCC"
    },
    {
      "rows_deleted": 1,
      "table_name": "Table_DDD"
    },
    {
      "rows_deleted": 0,
      "table_name": "Table_EEE"
    },
    {
      "rows_deleted": 0,
      "table_name": "Table_FFF"
    },
    {
      "rows_deleted": 0,
      "table_name": "Table_HHH"
    },
    {
      "rows_deleted": 0,
      "table_name": "Table_III"
    }
  ]
}

It is easy enough to model an array  consisting of objects, but getting the names of all the tables is not obvious. Perhaps there is a way?  

 

Thanks!

  • RonRatovsky's avatar
    RonRatovsky
    6 years ago

    Okay, that will not produce what you want. Please read https://swagger.io/docs/specification/adding-examples/ for a deeper explanation on how to add examples to responses. It should give you enough information on the right steps. If you run into any issues, please share the definitiion you got to and we'll take it from there.

     

    As a side note - the Editor is intended to be used with YAML and not JSON. By using JSON, you will not get some of the benefits of the editor. Converting to YAML would be as simple as copying the JSON and pasting it again into the Editor. It will automatically detect it and ask if you want to convert it to YAML.

  • Looks like it's just an array of the same object. The value of specific fields isn't really relevant. Do you have an initial definition to share?

    • BostonKevin's avatar
      BostonKevin
      Contributor

      Each one of those objects is unique, even if it does not look so.  In order to describe all the data that is returned i.e. information on the number of rows deleted from different tables, in the Swagger Editor, each of the objects would have to have a unique ID of some kind.  In the example i provided, the 'ID' is the value of the table_name field. As a result,  I cannot model the full response.

       

      If each one of those objects were defined as a distinct kind of object in an array, I could model the complete response i.e. precise information on the rows deleted in different tables.  Do you see what I mean?

       

      I think that this is more of a coding issue  than a Swagger issue, and will suggest a coding change to the development team. 

      • RonRatovsky's avatar
        RonRatovsky
        Staff

        Unfortunately, I don't understand the problem. In the example you provided, each array entry is an object with two properties.rows_deleted and table_name. The fact that they have different values in the actual response doesn't change anything with regard to the modeling. rows_deleted would be of type integer, table_name would be a string, and that's pretty much it. What am I missing?