我只是尝试使用以下文章在 AWS Lambda 上运行 Spring Boot 应用程序:https : //github.com/awslabs/aws-serverless-java-container/wiki/Quick-start---Spring-Boot
基本请求工作正常,但发送文件似乎会导致问题。在本地运行应用程序工作正常:
@RestController
@EnableWebMvc
public class PingController {
@RequestMapping(path = "/ping", method = RequestMethod.GET)
public Map<String, String> ping() {
Map<String, String> pong = new HashMap<>();
pong.put("pong", "Hello, World!");
return pong;
}
@RequestMapping(path = "/ping", method = RequestMethod.POST)
public Map<String, Long> ping(@RequestParam("file") MultipartFile file) {
Map<String, Long> pong = new HashMap<>();
pong.put("filesize", file.getSize());
return pong;
}
}
/ping 上的 GET 会按预期返回有效消息:
{
"pong": "Hello, World!"
}
向包含图像的 /ping 发送 POST 会导致以下异常:
{
"timestamp": 1540237302941,
"status": 500,
"error": "Internal Server Error",
"exception": "org.springframework.web.multipart.MultipartException",
"message": "Could not parse multipart servlet request; nested exception is java.lang.IllegalArgumentException: File path not allowed: /image.jpeg",
"path": "/ping"
}
将以下行添加到application.properties文件中没有帮助:
spring.http.multipart.location=/tmp/
甚至指定的资源是否存在都无关紧要。POST 到 /ping2(不存在)会导致相同的异常。
ibeautiful
相关分类