aws / aws/serverless-java-container
Path parameter is decoded within the SpringBootLambdaContainerHandler proxy method before it reaches Application's Rest controllers
- Dominant language
- Java
- Stars
- 1.6k
- Forks
- 574
- PR merge metrics
- No merged PRs in 30d
Description
*To help us debug your issue fill in the basic information below using the options provided*
*Serverless Java Container version*: `1.9.2`
*Implementations:* `Spring Boot `
*Framework version:* `SpringBoot 2.7.14 `
*Frontend service:* `REST API`
*Deployment method:* `Serverless Framework`
## Scenario
*Describe what you are trying to accomplish*
When we make an api call to the java lambda, we expect the path to be passed in through the handler as is to reach my springboot application's rest controller, extract whatever path parameters are configured and service the request
## Expected behavior
*Describe how you would expect the application to behave*
We expect the SpringBootLambdaContainerHandler to pass the path as is to the application's rest controller to process and perform business as usual functionality
## Actual behavior
*Describe what you are seeing instead*
When we pass a path with an encoded value through the handler method, it will decode the entire path including the encoded value before passing it into my application's rest controller. My application then gives me an internal server error because the encoded value is now decoded when passed to the rest controller, and because the value has a slash in it, the path variable mapping will break.
## Steps to reproduce
Unable to provide code sample/logs due to nature of enterprise work
## Full log output
*Paste the full log output from the Lambda function's CloudWatch logs*
```
logs
```
Contributor guide
Assessment
This issue has not been assessed yet.