Saltar al contenido

Swagger – Web API – Parámetros de consulta opcionales

Comprende el código bien previamente a utilizarlo a tu trabajo y si tquieres aportar algo puedes compartirlo con nosotros.

Solución:

La forma en que Swagger funciona extrae parámetros basados ​​en su firma de Acción, es decir, parámetros para su Acción, pero aquí está obteniendo estos valores de ControllerContext que, obviamente, Swagger nunca conocerá.

Por lo tanto, debe cambiar la firma de la Acción y pasar sus parámetros allí.

Serán tratados como opcionales si los hace de tipo anulable:

[HttpGet]
[Route("students")]
[SwaggerOperation(Tags = new[]  "Student" )]
[SwaggerResponse(HttpStatusCode.OK, Type = typeof(ResponseModel>))]
[SwaggerResponseExample(HttpStatusCode.OK, typeof(StudentResponseExample))]
[SwaggerResponse(HttpStatusCode.InternalServerError)]
public IHttpActionResult SearchStudent(long? SyncDate = null,int? OffSet = null,int? Limit = null)
    
        // Use the variables now here
        .
        .
        .

    

Esto funcionó para mí:

[System.Web.Http.HttpGet] 
[Route("api/DoStuff/reqParam")]  
[Route("api/DoStuff/reqParam/optParam1:alpha?/optParam2:datetime?")]
public string Get(string reqParam, string optParam1= "", string optParam2= "")

Creó dos secciones en mi interfaz de usuario de Swagger, pero eso funciona para mí.

Aquí tienes las comentarios y calificaciones

Si piensas que ha resultado de provecho nuestro artículo, sería de mucha ayuda si lo compartieras con más programadores así contrubuyes a difundir este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *