Skip to content

Azure Functions Java Library 1.0.0-beta-7-SNAPSHOT

Pre-release
Pre-release
Compare
Choose a tag to compare
@pragnagopa pragnagopa released this 24 Oct 16:26
· 97 commits to dev since this release

This release

  • Added support for Custom Http Status codes. Sample HttpTrigger that returns custom http status code
@FunctionName("HttpTriggerCustomCode")
    public HttpResponseMessage HttpTriggerCustomCode(
        @HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
        final ExecutionContext context
    ) {
        context.getLogger().info("Java HTTP trigger processed a request.");

        // Parse query parameters
        String query = request.getQueryParameters().get("name");
        String name = request.getBody().orElse(query);

        if (name == null) {
            return request.createResponseBuilder(HttpStatus.BAD_REQUEST).body("Please pass a name on the query string or in the request body").build();
        } else {
            return request.createResponseBuilder(HttpStatusType.custom(209)).body("Hello, " + name).build();
        }
    }
  • Added support to specify Cardinality on EventHutOutput binding
  • Misc bug fixes

Breaking changes

  • Removed unsupported NotificationHubOutput Binding Annotation
  • Removed unsupported WebHookType enum
  • Enforces method name that is entry point for a function to be unique. For example following methods are not supported
    public HttpResponseMessage CosmosDBInputId(@HttpTrigger(name = "req", methods = { HttpMethod.GET,
            HttpMethod.POST }, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
            @CosmosDBInput(name = "item", databaseName = "%CosmosDBDatabaseName%", collectionName = "ItemsCollectionIn", connectionStringSetting = "AzureWebJobsCosmosDBConnectionString", id = "{docId}") Document item,
            final ExecutionContext context) 



    public HttpResponseMessage CosmosDBInputId(@HttpTrigger(name = "req", methods = { HttpMethod.GET,
            HttpMethod.POST }, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
            @CosmosDBInput(name = "item", databaseName = "%CosmosDBDatabaseName%", collectionName = "ItemsCollectionIn", connectionStringSetting = "AzureWebJobsCosmosDBConnectionString", id = "{docId}") String item,
            final ExecutionContext context)