将servlet架构转换为app-engine端点架构

以下转换是否适用于从Java servlet转换为Google app-engine云端点?

public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { … } 

 @ApiMethod(name = "save_blob_key", path = "save_blob_key" httpMethod = HttpMethod.POST) public void saveBlobKey(HttpServletRequest req) throws IOException { … } 

背景:

我正在尝试使用端点来处理blobstore回调。

参考: https : //developers.google.com/appengine/docs/java/blobstore/overview#Complete_Sample_App

问题:

这里的大抱怨是以下两行似乎需要类HttpServletRequest ,我不知道是否可以将它传递给端点。

 BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); Map<String, List> blobs = blobstoreService.getUploads(req); 

编辑:

我一直在尝试很多路线来解决这个问题。 我最新的是将blob servlet与端点api结合起来 。 我仍然无法使代码工作。 因此,赏金给任何提供实际导致解决方案的解决方案或信息的人。

您当前无法使用端点作为blobstore blobstoreService.createUploadUrl的回调。 看到这个相关的答案 。 有一个支持mediaUpload的开放function请求,它可能提供与您想要的function类似的function。 随意给它加星标以显示支持并获得自动更新。

我建议的是两种可能的替代方案之一,具体取决于您尝试上传的数据量。

如果要上载适合数据存储区的少量blob数据,请在Endpoints实体类中使用ShortBlob (最多500个字节)或Blob (最多1 MB)类型。 端点将处理后端的序列化,并通过客户端库期望(并发回)base64编码的字符串。 这是一种非常简单,直接的方法。

如果要提供大于1 MB的blob,请立即使用Google Cloud Storage JSON API 。 此API使用与端点相同的客户端库,因此您不必担心将另一个库与应用程序捆绑在一起。 此页面有一个使用Java客户端库将blob插入Google云端存储的示例。