2017-05-11 2 views
0

J'ai un contrôleur qui reçoit l'objet de SearchProfilesModel. Il se compose d'un tableau de SearchProfiles et de plusieurs propriétés dans les classes de base. Méthode:Swagger ui description des paramètres de tableau dans .NET

[HttpGet] 
[ResponseType(typeof(List<UserSearchResult>))] 
[Route("SearchWithParams")] 
public async Task<HttpResponseMessage> 
    SearchWithParams([FromUri] SearchProfilesModel model) 
{ 
    // Some logic 
    return Request.CreateResponse(HttpStatusCode.OK, result); 
} 

classe Model:

public class SearchProfilesModel : LoginRequiredModel 
{ 
    [Required] 
    [JsonProperty("search_profiles")] 
    public List<SearchProfileViewModel> ProfilesList { get; set; } 
} 

Liste item Classe:

public class SearchProfileViewModel 
{ 
    [JsonProperty("name")] 
    public string Name { get; set; } 
    [JsonProperty("surname")] 
    public string Surname { get; set; } 
    [JsonProperty("facebook_id")] 
    public string FacebookId { get; set; } 
    [JsonProperty("email")] 
    public string Email { get; set; } 
} 

`m utilisant Swagger ui (Swashbuckle lib) pour tester mes contrôleurs, mais quand il génère page d'aide pour cette méthode, elle montre suivante: Help page

Ma question est - puis-je en quelque sorte montrer la structure de l'élément de la liste (de SearchProfileViewModel) dans les paramètres? Et si je peux - comment? P.S. - Désolé pour mon anglais, ce n'est pas ma langue maternelle.

+1

double possible de [Décrire un tableau d'objets complexes en utilisant Swagger 2.0] (http: // stackoverflow. com/questions/38088722/describe-un-array-of-complex-objects-using-swagger-2-0) –

Répondre

0

La structure de votre objet est dans la doc généré, jetez un oeil à la mine: http://swashbuckletest.azurewebsites.net/swagger/docs/v1

{ 
"swagger": "2.0", 
"info": {...}, 
"host": "swashbuckletest.azurewebsites.net", 
"schemes": [...], 
"paths": {...}, 
"definitions": { 
    "Data": { 
     "type": "object", 
     "properties": { 
      "integ": { 
       "format": "int32", 
       "type": "integer", 
       "example": 123 
      }, 
      "doub": { 
       "format": "double", 
       "type": "number", 
       "example": 9858.216 
      }, 
      "boolea": { 
       "type": "boolean" 
      }, 
      "guid": { 
       "format": "uuid", 
       "type": "string", 
       "example": "f5849915-43c8-434c-92a7-7383d1acb631" 
      }, 
      "date": { 
       "format": "date-time", 
       "type": "string" 
      } 
     } 
    }, 
...