diff --git a/azure-functions-archetype/pom.xml b/azure-functions-archetype/pom.xml
index 6e0fd66..9eb0461 100644
--- a/azure-functions-archetype/pom.xml
+++ b/azure-functions-archetype/pom.xml
@@ -6,7 +6,7 @@
com.microsoft.azure
azure-functions-archetype
- 1.3
+ 1.4
jar
Maven Archetype for Azure Functions
diff --git a/azure-functions-archetype/src/main/resources/archetype-resources/pom.xml b/azure-functions-archetype/src/main/resources/archetype-resources/pom.xml
index 2a636db..85c7ea5 100644
--- a/azure-functions-archetype/src/main/resources/archetype-resources/pom.xml
+++ b/azure-functions-archetype/src/main/resources/archetype-resources/pom.xml
@@ -51,7 +51,7 @@
com.microsoft.azure
azure-functions-maven-plugin
- 0.1.7
+ 0.1.8
diff --git a/azure-functions-archetype/src/main/resources/archetype-resources/src/main/java/Function.java b/azure-functions-archetype/src/main/resources/archetype-resources/src/main/java/Function.java
index def24cf..1104070 100644
--- a/azure-functions-archetype/src/main/resources/archetype-resources/src/main/java/Function.java
+++ b/azure-functions-archetype/src/main/resources/archetype-resources/src/main/java/Function.java
@@ -1,5 +1,6 @@
package $package;
+import java.util.*;
import com.microsoft.azure.serverless.functions.annotation.*;
import com.microsoft.azure.serverless.functions.*;
@@ -13,20 +14,14 @@ public class Function {
* 2. curl {your host}/api/hello?name=HTTP%20Query
*/
@FunctionName("hello")
- public HttpResponseMessage hello(@HttpTrigger(name = "req", methods = {"get", "post"}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage request,
- final ExecutionContext context) {
+ public HttpResponseMessage hello(
+ @HttpTrigger(name = "req", methods = {"get", "post"}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage> request,
+ final ExecutionContext context) {
context.getLogger().info("Java HTTP trigger processed a request.");
// Parse query parameter
- String name = request.getQueryParameters().get("name").toString();
-
- if (name == null) {
- // Get request body
- Object body = request.getBody();
- if (body != null) {
- name = body.toString();
- }
- }
+ String query = request.getQueryParameters().get("name");
+ String name = request.getBody().orElse(query);
if (name == null) {
return request.createResponse(400, "Please pass a name on the query string or in the request body");
diff --git a/azure-functions-archetype/src/main/resources/archetype-resources/src/test/java/FunctionTest.java b/azure-functions-archetype/src/main/resources/archetype-resources/src/test/java/FunctionTest.java
index 6674044..8746452 100644
--- a/azure-functions-archetype/src/main/resources/archetype-resources/src/test/java/FunctionTest.java
+++ b/azure-functions-archetype/src/main/resources/archetype-resources/src/test/java/FunctionTest.java
@@ -5,6 +5,7 @@
import java.util.HashMap;
import java.util.Map;
+import java.util.Optional;
import java.util.logging.Logger;
import static org.junit.Assert.assertSame;
@@ -24,12 +25,15 @@ public class FunctionTest {
@Test
public void testHello() throws Exception {
// Setup
- final HttpRequestMessage req = mock(HttpRequestMessage.class);
+ final HttpRequestMessage> req = mock(HttpRequestMessage.class);
final Map queryParams = new HashMap<>();
queryParams.put("name", "Azure");
doReturn(queryParams).when(req).getQueryParameters();
+ final Optional queryBody = Optional.empty();
+ doReturn(queryBody).when(req).getBody();
+
final HttpResponseMessage res = mock(HttpResponseMessage.class);
doReturn(res).when(req).createResponse(anyInt(), anyString());
diff --git a/pom.xml b/pom.xml
index cf223a9..37b1484 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.microsoft.azure
azure-maven-archetypes
- 1.3
+ 1.4
pom
Maven Archetypes for Azure
Maven Archetypes for Microsoft Azure services