0
votes

I am currently looking into using Google App Engine as a server-less backend for my web app and api. I have looked into Google Endpoints Frameworks and understand that it helps one build an api on google app engine. I would like to allow users to submit a file (word, pages, text, etc.) to the api, and to have the api process the file and return information based on the file. I tried to allow the user to submit the file using endpoints but the best solution I have found suggests to use Endpoints and Blobstore to upload the file. I would like to avoid this since I don't need to keep the file after I process it and such a technique can incur additional charges. On the other hand Google App Engine appears to allow this. Since App Engine allows similar to functionality to Endpoints Frameworks can I use App Engine by itself to build my api and web app? Would there be any drawbacks to this approach or an increased risk of a security issue?

On a side note, if I do decide to use Endpoints could my website make calls straight to my api or should I create an entire other web serverlet for this purpose?

1

1 Answers

1
votes

If the file you are trying to process is small enough to fit in a single POST request, you may not need to use the Blobstore API. Simply include the file you want to process in the request body. (It is easy to use BASE64 etc.)

Cloud Endpoints Framework is libraries that runs on Google App Engine. So it's obvious that using Google App Engine directly can do everything that Cloud Endpoints Framework can do. (Except API management function provided by Endpoints Framework)

You do not need to use the Endpoints Framework if you are going to create only one or a few types of APIs, but using the Endpoints Framework makes it easier to manage the API, or multiple APIs You can get high productivity when developing.

On a side note, if I do decide to use Endpoints could my website make calls straight to my api or should I create an entire other web serverlet for this purpose?

Yes. You can configure CORS(Cross-Origin-Request-Sharing) on your server-side code. Make custom filter class to add Access-Control-Allow-Origin header.