diff --git a/samples/springboot3/alt-pet-store/build.gradle b/samples/springboot3/alt-pet-store/build.gradle
index 0ddec053b..69d30f0fb 100644
--- a/samples/springboot3/alt-pet-store/build.gradle
+++ b/samples/springboot3/alt-pet-store/build.gradle
@@ -5,6 +5,7 @@ repositories {
   mavenCentral()
   maven {url "https://repo.spring.io/milestone"}
   maven {url "https://repo.spring.io/snapshot"}
+  maven {url "https://repo.spring.io/libs-snapshot-local"}
 }
 
 dependencies {
@@ -12,8 +13,10 @@ dependencies {
           implementation('org.springframework.boot:spring-boot-starter-web:3.2.5') {
             exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
           },
-          'com.amazonaws.serverless:aws-serverless-java-container-springboot3:[2.0-SNAPSHOT,)',
+          'com.amazonaws.serverless:aws-serverless-java-container-springboot3:2.1.0-SNAPSHOT',
   )
+
+  implementation("org.springframework.boot:spring-boot-starter-freemarker:3.2.5")
 }
 
 task buildZip(type: Zip) {
diff --git a/samples/springboot3/alt-pet-store/src/main/java/com/amazonaws/serverless/sample/springboot3/controller/IndexController.java b/samples/springboot3/alt-pet-store/src/main/java/com/amazonaws/serverless/sample/springboot3/controller/IndexController.java
new file mode 100644
index 000000000..f833ebd51
--- /dev/null
+++ b/samples/springboot3/alt-pet-store/src/main/java/com/amazonaws/serverless/sample/springboot3/controller/IndexController.java
@@ -0,0 +1,16 @@
+package com.amazonaws.serverless.sample.springboot3.controller;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@Controller
+public class IndexController {
+
+    public IndexController() {
+    }
+
+    @GetMapping("/index")
+    public String something2() {
+        return "index";
+    }
+}
diff --git a/samples/springboot3/alt-pet-store/src/main/resources/application.yaml b/samples/springboot3/alt-pet-store/src/main/resources/application.yaml
new file mode 100644
index 000000000..c08f5c56d
--- /dev/null
+++ b/samples/springboot3/alt-pet-store/src/main/resources/application.yaml
@@ -0,0 +1,5 @@
+logging:
+  level:
+    root: debug
+    org:
+      springframework: info
\ No newline at end of file
diff --git a/samples/springboot3/alt-pet-store/src/main/resources/templates/index.ftlh b/samples/springboot3/alt-pet-store/src/main/resources/templates/index.ftlh
new file mode 100644
index 000000000..795094095
--- /dev/null
+++ b/samples/springboot3/alt-pet-store/src/main/resources/templates/index.ftlh
@@ -0,0 +1,5 @@
+<h1> hello from freemarker </h1>
+
+<#list 1..10 as x>
+    ${x}
+</#list>
diff --git a/samples/springboot3/alt-pet-store/template.yml b/samples/springboot3/alt-pet-store/template.yml
index c883f0850..39c7586e5 100644
--- a/samples/springboot3/alt-pet-store/template.yml
+++ b/samples/springboot3/alt-pet-store/template.yml
@@ -30,12 +30,15 @@ Resources:
           Properties:
             TimeoutInMillis: 20000
             PayloadFormatVersion: '1.0'
-
+      FunctionUrlConfig:
+        AuthType: NONE
 Outputs:
+  MyFunctionUrlEndpoint:
+    Description: "Function URL for application"
+    Value:
+      Fn::GetAtt: PetStoreFunctionUrl.FunctionUrl
   SpringPetStoreApi:
     Description: URL for application
-    Value: !Sub 'https://${ServerlessHttpApi}.execute-api.${AWS::Region}.amazonaws.com/pets'
-    Export:
-      Name: SpringPetStoreApi
+    Value: !Sub 'https://${ServerlessHttpApi}.execute-api.${AWS::Region}.amazonaws.com/index'
       
 
diff --git a/samples/springboot3/pet-store/build.gradle b/samples/springboot3/pet-store/build.gradle
index 0ddec053b..276defbe2 100644
--- a/samples/springboot3/pet-store/build.gradle
+++ b/samples/springboot3/pet-store/build.gradle
@@ -12,8 +12,10 @@ dependencies {
           implementation('org.springframework.boot:spring-boot-starter-web:3.2.5') {
             exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
           },
-          'com.amazonaws.serverless:aws-serverless-java-container-springboot3:[2.0-SNAPSHOT,)',
+          'com.amazonaws.serverless:aws-serverless-java-container-springboot3:2.1.0-SNAPSHOT',
   )
+
+  implementation("org.springframework.boot:spring-boot-starter-freemarker:3.2.5")
 }
 
 task buildZip(type: Zip) {
diff --git a/samples/springboot3/pet-store/src/main/java/com/amazonaws/serverless/sample/springboot3/StreamLambdaHandler.java b/samples/springboot3/pet-store/src/main/java/com/amazonaws/serverless/sample/springboot3/StreamLambdaHandler.java
index a65c6f1ec..0df9bce57 100644
--- a/samples/springboot3/pet-store/src/main/java/com/amazonaws/serverless/sample/springboot3/StreamLambdaHandler.java
+++ b/samples/springboot3/pet-store/src/main/java/com/amazonaws/serverless/sample/springboot3/StreamLambdaHandler.java
@@ -2,9 +2,11 @@
 
 
 import com.amazonaws.serverless.exceptions.ContainerInitializationException;
+import com.amazonaws.serverless.proxy.internal.servlet.AwsHttpApiV2ProxyHttpServletRequest;
 import com.amazonaws.serverless.proxy.internal.testutils.Timer;
 import com.amazonaws.serverless.proxy.model.AwsProxyRequest;
 import com.amazonaws.serverless.proxy.model.AwsProxyResponse;
+import com.amazonaws.serverless.proxy.model.HttpApiV2ProxyRequest;
 import com.amazonaws.serverless.proxy.spring.SpringBootLambdaContainerHandler;
 import com.amazonaws.serverless.sample.springboot3.filter.CognitoIdentityFilter;
 import com.amazonaws.services.lambda.runtime.Context;
@@ -20,10 +22,10 @@
 
 
 public class StreamLambdaHandler implements RequestStreamHandler {
-    private static SpringBootLambdaContainerHandler<AwsProxyRequest, AwsProxyResponse> handler;
+    private static SpringBootLambdaContainerHandler<HttpApiV2ProxyRequest, AwsProxyResponse> handler;
     static {
         try {
-            handler = SpringBootLambdaContainerHandler.getAwsProxyHandler(Application.class);
+            handler = SpringBootLambdaContainerHandler.getHttpApiV2ProxyHandler(Application.class);
 
             // we use the onStartup method of the handler to register our custom filter
             handler.onStartup(servletContext -> {
diff --git a/samples/springboot3/pet-store/src/main/java/com/amazonaws/serverless/sample/springboot3/controller/IndexController.java b/samples/springboot3/pet-store/src/main/java/com/amazonaws/serverless/sample/springboot3/controller/IndexController.java
new file mode 100644
index 000000000..f833ebd51
--- /dev/null
+++ b/samples/springboot3/pet-store/src/main/java/com/amazonaws/serverless/sample/springboot3/controller/IndexController.java
@@ -0,0 +1,16 @@
+package com.amazonaws.serverless.sample.springboot3.controller;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@Controller
+public class IndexController {
+
+    public IndexController() {
+    }
+
+    @GetMapping("/index")
+    public String something2() {
+        return "index";
+    }
+}
diff --git a/samples/springboot3/pet-store/src/main/resources/application.yaml b/samples/springboot3/pet-store/src/main/resources/application.yaml
new file mode 100644
index 000000000..c08f5c56d
--- /dev/null
+++ b/samples/springboot3/pet-store/src/main/resources/application.yaml
@@ -0,0 +1,5 @@
+logging:
+  level:
+    root: debug
+    org:
+      springframework: info
\ No newline at end of file
diff --git a/samples/springboot3/pet-store/src/main/resources/templates/index.ftlh b/samples/springboot3/pet-store/src/main/resources/templates/index.ftlh
new file mode 100644
index 000000000..795094095
--- /dev/null
+++ b/samples/springboot3/pet-store/src/main/resources/templates/index.ftlh
@@ -0,0 +1,5 @@
+<h1> hello from freemarker </h1>
+
+<#list 1..10 as x>
+    ${x}
+</#list>
diff --git a/samples/springboot3/pet-store/template.yml b/samples/springboot3/pet-store/template.yml
index a8474349b..c77bb927f 100644
--- a/samples/springboot3/pet-store/template.yml
+++ b/samples/springboot3/pet-store/template.yml
@@ -23,10 +23,13 @@ Resources:
           Properties:
             TimeoutInMillis: 20000
             PayloadFormatVersion: '1.0'
-
+      FunctionUrlConfig:
+        AuthType: NONE
 Outputs:
+  MyFunctionUrlEndpoint:
+    Description: "Function URL for application"
+    Value:
+      Fn::GetAtt: PetStoreFunctionUrl.FunctionUrl
   SpringBootPetStoreApi:
     Description: URL for application
-    Value: !Sub 'https://${ServerlessHttpApi}.execute-api.${AWS::Region}.amazonaws.com/pets'
-    Export:
-      Name: SpringBootPetStoreApi
+    Value: !Sub 'https://${ServerlessHttpApi}.execute-api.${AWS::Region}.amazonaws.com/index'
