Skip to content

Azure Functions Java Library 1.0.0-beta-5

Pre-release
Pre-release
Compare
Choose a tag to compare
@pragnagopa pragnagopa released this 22 Jun 19:31
· 71 commits to master since this release
03a663a

This release added HttpMethod enum and return HttpResponseMessage for fluent API

  • Added HttpMethod enum
  • Added HttpStatus enum
  • Added a WebHookType enum for HttpTriggers
  • Remove unecessary generic type on HttpResponseMessage and define HttpResponseMessage.Builder
  • fixed javadocs
  • Here is the sample code for HttpTrigger using the updated API
package $package;

import java.util.*;
import com.microsoft.azure.functions.annotation.*;
import com.microsoft.azure.functions.*;

/**
 * Azure Functions with HTTP Trigger.
 */
public class Function {
    /**
     * This function listens at endpoint "/api/HttpTrigger-Java". Two ways to invoke it using "curl" command in bash:
     * 1. curl -d "HTTP Body" {your host}/api/HttpTrigger-Java
     * 2. curl {your host}/api/HttpTrigger-Java?name=HTTP%20Query
     */
    @FunctionName("HttpTrigger-Java")
    public HttpResponseMessage HttpTriggerJava(
            @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 parameter
        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(HttpStatus.OK).body("Hello, " + name).build();
        }
    }
}