Hi Ron,

Thanks for the reply . I am extremely sorry for posting the wrong schema. 
 This is the schema i have defined for the api. which than i converted in 
to Jackson annotated pojo class using  plugin provided 
by http://www.jsonschema2pojo.org/

{
  "$schema": "http://json-schema.org/draft-04/schema#";,
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string"
      },
      "storeitem": {
        "type": "string"
      },
      "description": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "storeitem",
      "description"
    ]
  }
}


I checked my swagger.json file and it shows
  "storeitem":{
   "type":"object",
   "properties":
   {
   "id":{
   "type":"string"
   },
  "caption":{
   "type":"string"},
  "storeitem":{
  "type":"string"}
  }}
  
so its clear that swagger UI is seeing it as an object but i want that it 
to be an array type. The pojo class generated by 
 http://www.jsonschema2pojo.org/ is below, could it be that the parsing of 
array-type to jackson annotated pojo class is not correct?. In that case is 
there any better way i could present my model to the UI instead of 
converting from json schema to pojo and than pointing it.

-----------------------------------com.example.Example.java
-----------------------------------

package com.example;

import java.util.HashMap;
import java.util.Map;
import javax.annotation.Generated;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;

@JsonInclude(JsonInclude.Include.NON_NULL)
@Generated("org.jsonschema2pojo")
@JsonPropertyOrder({
"id",
"storeitem",
"description"
})
public class Example {

/**
* 
* (Required)
* 
*/
@JsonProperty("id")
private String id;
/**
* 
* (Required)
* 
*/
@JsonProperty("storeitem")
private String storeitem;
/**
* 
* (Required)
* 
*/
@JsonProperty("description")
private String description;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, 
Object>();

/**
* 
* (Required)
* 
* @return
* The id
*/
@JsonProperty("id")
public String getId() {
return id;
}

/**
* 
* (Required)
* 
* @param id
* The id
*/
@JsonProperty("id")
public void setId(String id) {
this.id = id;
}

/**
* 
* (Required)
* 
* @return
* The storeitem
*/
@JsonProperty("storeitem")
public String getStoreitem() {
return storeitem;
}

/**
* 
* (Required)
* 
* @param storeitem
* The storeitem
*/
@JsonProperty("storeitem")
public void setStoreitem(String storeitem) {
this.storeitem = storeitem;
}

/**
* 
* (Required)
* 
* @return
* The description
*/
@JsonProperty("description")
public String getDescription() {
return description;
}

/**
* 
* (Required)
* 
* @param description
* The description
*/
@JsonProperty("description")
public void setDescription(String description) {
this.description = description;
}

@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}

@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}

}


On Tuesday, August 16, 2016 at 1:16:21 PM UTC-7, Ron wrote:
>
> Why would you expect to see an array of the model when you describe only 
> the model?
>
>  
>
>  
>
>  
>
> *From: *<[email protected] <javascript:>> on behalf of sdav <
> [email protected] <javascript:>>
> *Reply-To: *"[email protected] <javascript:>" <
> [email protected] <javascript:>>
> *Date: *Tuesday, 16 August 2016 at 12:05
> *To: *Swagger <[email protected] <javascript:>>
> *Subject: *issue with the model schema
>
>  
>
> Hi  
>
>  
>
> I have up running project and decided to integrate swagger. 
>
>  
>
> I am using jersey 2 .
>
>  
>
> so, i got an api response that i converted in to jsonschema and generated 
> a pojo class. using something like below i am able to show the model schema 
> of the response 
>
>  
>
>  
>
> @GET
>
> @ApiOperation(value="Retrives all items" , response = 
> /path/to/.class/in/the jar.class )
>
> @Produces({MediaType.APPLICATION_JSON})
>
> public getStoreitems(......)
>
> Below is the schema of my response from api and along with the generated 
> POJO that i am using to point in the 
> @Apioperation(@ApiOperation(value="Retrives all items" , response = 
> /path/to/.class/in/the jar.class )
>
> {
>
>   "$schema": "http://json-schema.org/draft-04/schema#";,
>
>   "type": "object",
>
>   "properties": {
>
>     "id": {
>
>       "type": "string"
>
>     },
>
>     "storeitem": {
>
>       "type": "string"
>
>     },
>
>     "description": {
>
>       "type": "string"
>
>     }
>
>   },
>
>   "required": [
>
>     "id",
>
>     "storeitem",
>
>     "description"
>
>   ]
>
> }
>
>  
>
> pojo class
>
>
> *import* java.util.HashMap;
> *import* java.util.Map;
> *import* javax.annotation.Generated;
> *import* com.fasterxml.jackson.annotation.JsonAnyGetter;
> *import* com.fasterxml.jackson.annotation.JsonAnySetter;
> *import* com.fasterxml.jackson.annotation.JsonIgnore;
> *import* com.fasterxml.jackson.annotation.JsonInclude;
> *import* com.fasterxml.jackson.annotation.JsonProperty;
> *import* com.fasterxml.jackson.annotation.JsonPropertyOrder;
>
> @JsonInclude(JsonInclude.Include.NON_NULL)
> @Generated("org.jsonschema2pojo")
> @JsonPropertyOrder({
> "id",
> "storeitem",
> "description"
> })
> *public* *class* Example {
>
> /**
> * 
> * (Required)
> * 
> */
> @JsonProperty("id")
> *private* String id;
> /**
> * 
> * (Required)
> * 
> */
> @JsonProperty("storeitem")
> *private* String storeitem;
> /**
> * 
> * (Required)
> * 
> */
> @JsonProperty("description")
> *private* String description;
> @JsonIgnore
> *private* Map<String, Object> additionalProperties = *new* HashMap<String, 
> Object>();
>
> /**
> * 
> * (Required)
> * 
> * @return
> * The id
> */
> @JsonProperty("id")
> *public* String getId() {
> *return* id;
> }
>
> /**
> * 
> * (Required)
> * 
> * @param id
> * The id
> */
> @JsonProperty("id")
> *public* *void* setId(String id) {
> *this*.id = id;
> }
>
> /**
> * 
> * (Required)
> * 
> * @return
> * The storeitem
> */
> @JsonProperty("storeitem")
> *public* String getStoreitem() {
> *return* storeitem;
> }
>
> /**
> * 
> * (Required)
> * 
> * @param storeitem
> * The storeitem
> */
> @JsonProperty("storeitem")
> *public* *void* setStoreitem(String storeitem) {
> *this*.storeitem = storeitem;
> }
>
> /**
> * 
> * (Required)
> * 
> * @return
> * The description
> */
> @JsonProperty("description")
> *public* String getDescription() {
> *return* description;
> }
>
> /**
> * 
> * (Required)
> * 
> * @param description
> * The description
> */
> @JsonProperty("description")
> *public* *void* setDescription(String description) {
> *this*.description = description;
> }
>
> @JsonAnyGetter
> *public* Map<String, Object> getAdditionalProperties() {
> *return* *this*.additionalProperties;
> }
>
> @JsonAnySetter
> *public* *void* setAdditionalProperty(String name, Object value) {
> *this*.additionalProperties.put(name, value);
> }
>
> }
>
>  
>
> on the UI Model scheam, i am expecting something like this. 
>
> [
>
> {
>
>   "id": "string",
>
>   "storeitem": "string",
>
>   "description": "string"
>
> }
>
> ]
>
> but what i get 
> {
>
> "id":
>
> "string",
>
> "storeitem":
>
> "string",
>
> "description":
>
> "string"
>
> }
>
>
>
> Thanks
>
> devin
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Swagger" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Swagger" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to