Skip to content
This repository was archived by the owner on Dec 12, 2023. It is now read-only.

Latest commit

 

History

History
65 lines (52 loc) · 1.34 KB

query-parameter.md

File metadata and controls

65 lines (52 loc) · 1.34 KB

Query Parameter Bindings

Simple binding

Supports binding to:

  • string
  • Guid
  • int
  • object
  • bool
public static class StringQueryParamHttpTrigger
    {
        [FunctionName(nameof(StringQueryParamHttpTrigger))]
        public static async Task<IActionResult> RunAsync([HttpTrigger(AuthorizationLevel.Function, "get", Route = "test/query/name")]           HttpRequest req, ILogger log, [QueryParam("name")] string name)
        {
            var data = new NameModel
            {
                Name = name
            };
            return new OkObjectResult(data);
        }
    }

Complex binding

Extends query parameter bindings to POCO.

public class QueryParamValues
{
    [QueryParamValue]
    public Guid? Id { get; set; }

    [QueryParamValue]
    public string Name { get; set; }

    [QueryParamValue]
    public int Age { get; set; }
}

Usage in functions

 [FunctionName(nameof(ClassQueryParamHttpTrigger))]
public static async Task<IActionResult> RunAsync([
    HttpTrigger(AuthorizationLevel.Function, "get", Route = "test/query/class")] HttpRequest req,
    ILogger log,
    [QueryParam] QueryParamValues queryParamContainer)
{
    var data = new
    {
        queryParamContainer.Name,
        queryParamContainer.Age,
        queryParamContainer.Id
    };
    return new OkObjectResult(data);
}