From 9b8c0441b77fd10f0a85926b3669bbe26cdee24d Mon Sep 17 00:00:00 2001 From: Yohann Gabory Date: Mon, 14 Oct 2013 18:33:42 +0200 Subject: [PATCH] added the datastore validators --- docs/build/.doctrees/datastore.doctree | Bin 60535 -> 60400 bytes docs/build/.doctrees/environment.pickle | Bin 52039 -> 56960 bytes docs/build/.doctrees/index.doctree | Bin 5847 -> 5874 bytes docs/build/.doctrees/references.doctree | Bin 114757 -> 113323 bytes docs/build/.doctrees/tutorial.doctree | Bin 0 -> 12512 bytes .../.doctrees/using_user_endpoint.doctree | Bin 0 -> 6845 bytes .../rest_api_framework/controllers.html | 4 +- docs/build/_sources/index.txt | 1 + docs/build/_sources/tutorial.txt | 128 +++++++++ docs/build/_sources/using_user_endpoint.txt | 62 +++++ docs/build/datastore.html | 22 +- docs/build/genindex.html | 31 ++- docs/build/index.html | 4 + docs/build/objects.inv | Bin 478 -> 645 bytes docs/build/references.html | 103 ++++---- docs/build/searchindex.js | 2 +- docs/build/tutorial.html | 242 ++++++++++++++++++ docs/build/using_user_endpoint.html | 159 ++++++++++++ docs/source/index.rst | 1 + docs/source/tutorial.rst | 128 +++++++++ docs/source/using_user_endpoint.rst | 72 ++++++ rest_api_framework/controllers.py | 4 +- rest_api_framework/datastore/base.py | 28 +- rest_api_framework/datastore/simple.py | 4 +- rest_api_framework/datastore/sql.py | 18 +- rest_api_framework/datastore/validators.py | 32 +++ rest_api_framework/views.py | 1 - tests/datastore_test.py | 41 +++ 28 files changed, 991 insertions(+), 96 deletions(-) create mode 100644 docs/build/.doctrees/tutorial.doctree create mode 100644 docs/build/.doctrees/using_user_endpoint.doctree create mode 100644 docs/build/_sources/tutorial.txt create mode 100644 docs/build/_sources/using_user_endpoint.txt create mode 100644 docs/build/tutorial.html create mode 100644 docs/build/using_user_endpoint.html create mode 100644 docs/source/tutorial.rst create mode 100644 docs/source/using_user_endpoint.rst create mode 100644 rest_api_framework/datastore/validators.py diff --git a/docs/build/.doctrees/datastore.doctree b/docs/build/.doctrees/datastore.doctree index 132ccf9613ce98d58edd619cd12fbb1c51c07a81..3ff1ab612586308a1f7489f69197680698b75193 100644 GIT binary patch delta 7594 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 diff --git a/docs/build/.doctrees/environment.pickle b/docs/build/.doctrees/environment.pickle index e3b0153b2fc37b658574c6c8f25b0ad3a57c12cd..36dcc87b25699959def859b5cbc20cde280e24f4 100644 GIT binary patch literal 56960 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 N55Ad*YtOX!{{b!EY4HF6 literal 114757 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 WgKK&?`vlbFy?F4=eYg(JYWp87QNH;A diff --git a/docs/build/.doctrees/tutorial.doctree b/docs/build/.doctrees/tutorial.doctree new file mode 100644 index 0000000000000000000000000000000000000000..db7a651c46b1dfaf185c319e7bdfe5ab6bc031d9 GIT binary patch literal 12512 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 k%cvbQ`?6@H;M1& literal 0 HcmV?d00001 diff --git a/docs/build/.doctrees/using_user_endpoint.doctree b/docs/build/.doctrees/using_user_endpoint.doctree new file mode 100644 index 0000000000000000000000000000000000000000..280b6cd51275329e6dacf6c60570a28f050004ae GIT binary patch literal 6845 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 literal 0 HcmV?d00001 diff --git a/docs/build/_modules/rest_api_framework/controllers.html b/docs/build/_modules/rest_api_framework/controllers.html index 5553141..41ec4d5 100644 --- a/docs/build/_modules/rest_api_framework/controllers.html +++ b/docs/build/_modules/rest_api_framework/controllers.html @@ -70,12 +70,12 @@

Source code for rest_api_framework.controllers

[docs]class WSGIDispatcher(DispatcherMiddleware): """ Embed multiple endpoint in one diff --git a/docs/build/_sources/index.txt b/docs/build/_sources/index.txt index 7245871..d4c2c38 100644 --- a/docs/build/_sources/index.txt +++ b/docs/build/_sources/index.txt @@ -12,6 +12,7 @@ Contents: :maxdepth: 2 introduction + tutorial datastore controller pagination diff --git a/docs/build/_sources/tutorial.txt b/docs/build/_sources/tutorial.txt new file mode 100644 index 0000000..1fa00ea --- /dev/null +++ b/docs/build/_sources/tutorial.txt @@ -0,0 +1,128 @@ +Tutorial building an adressebook API +==================================== + +First Step Building a user endpoint +----------------------------------- + +For this project we need users. Users will be helpfull for our adress +book and for our authentication process. + +Users will be define with at least a first name and a last name. We +also need an unique identifier to retreive the user. + +Define a model +~~~~~~~~~~~~~~ + +.. code-block:: python + + from rest_api_framework import models + + class UserModel(models.Model): + + fields = [models.StringField(name="first_name", required=True), + models.StringField(name="last_name", required=True), + models.PkField(name="id", required=True) + ] + +The use of required_true will ensure that a user without this field +cannot be created + +Chose a DataStore +~~~~~~~~~~~~~~~~~ + +We also need a datastore to get a place where we can save our +users. For instance we will use a sqlite3 database. The +SQLiteDataStore is what we need + +.. code-block:: python + + from rest_api_framework.datastore import SQLiteDataStore + +Chose a view +~~~~~~~~~~~~ + +We want results to be rendered as Json. We use the JsonResponse view +for that: + +.. code-block:: python + + from rest_api_framework.views import JsonResponse + +Create The user endpoint +~~~~~~~~~~~~~~~~~~~~~~~~ + +To create an endpoint, we need a controller. This will manage our +endpoint in a RESTFUL fashion. + +.. code-block:: python + + from rest_api_framework.controllers import Controller + + class UserEndPoint(Controller): + ressource = { + "ressource_name": "users", + "ressource": {"name": "adress_book.db", "table": "users"}, + "model": UserModel, + "datastore": SQLiteDataStore + } + + controller = { + "list_verbs": ["GET", "POST"], + "unique_verbs": ["GET", "PUT", "DElETE"] + } + + view = {"response_class": JsonResponse} + +then we must run our application: + +.. code-block:: python + + if __name__ == '__main__': + from werkzeug.serving import run_simple + from rest_api_framework.controllers import WSGIDispatcher + app = WSGIDispatcher([UserEndPoint]) + run_simple('127.0.0.1', 5000, app, use_debugger=True, use_reloader=True) + +Summary +~~~~~~~ + +So far, all of the code should look like this: + +.. code-block:: python + + from rest_api_framework import models + from rest_api_framework.datastore import SQLiteDataStore + from rest_api_framework.views import JsonResponse + from rest_api_framework.controllers import Controller + + + class UserModel(models.Model): + + fields = [models.StringField(name="first_name", required=True), + models.StringField(name="last_name", required=True), + models.PkField(name="id", required=True) + ] + + + class UserEndPoint(Controller): + ressource = { + "ressource_name": "users", + "ressource": {"name": "adress_book.db", "table": "users"}, + "model": UserModel, + "datastore": SQLiteDataStore + } + + controller = { + "list_verbs": ["GET", "POST"], + "unique_verbs": ["GET", "PUT", "DElETE"] + } + + view = {"response_class": JsonResponse} + + if __name__ == '__main__': + from werkzeug.serving import run_simple + from rest_api_framework.controllers import WSGIDispatcher + app = WSGIDispatcher([UserEndPoint]) + run_simple('127.0.0.1', 5000, app, use_debugger=True, use_reloader=True) + +Next: :doc:`using_user_endpoint` diff --git a/docs/build/_sources/using_user_endpoint.txt b/docs/build/_sources/using_user_endpoint.txt new file mode 100644 index 0000000..c797111 --- /dev/null +++ b/docs/build/_sources/using_user_endpoint.txt @@ -0,0 +1,62 @@ +Playing with the newly created endpoint +======================================= + +First you can check that your endpoint is up + +.. code-block:: bash + + curl -i "http://localhost:5000/users/" + + HTTP/1.0 200 OK + Content-Type: application/json + Content-Length: 2 + Server: Werkzeug/0.8.3 Python/2.7.2 + Date: Mon, 14 Oct 2013 12:52:22 GMT + +Your endpoint is responding but does not have any data. Let's add +some: + +Create a user +------------- + +.. code-block:: bash + + curl -i -H "Content-type: application/json" -X POST -d '{"first_name":"John", "last_name": "Doe"}' http://localhost:5000/users/ + + HTTP/1.0 201 CREATED + Location: http://localhost:5000/users/1 + Content-Type: application/json + Content-Length: 0 + Server: Werkzeug/0.8.3 Python/2.7.2 + Date: Mon, 14 Oct 2013 13:00:13 GMT + +Error handling +~~~~~~~~~~~~~~ + +If you don't provide a last_name, the API will raise a BAD REQUEST +explaining your error: + +.. code-block:: bash + + curl -i -H "Content-type: application/json" -X POST -d '{"first_name":"John"}' http://localhost:5000/users/ + + HTTP/1.0 400 BAD REQUEST + Content-Type: application/json + Content-Length: 62 + Server: Werkzeug/0.8.3 Python/2.7.2 + Date: Mon, 14 Oct 2013 13:21:10 GMT + + {"error": "last_name is missing. Cannot create the ressource"} + +The same apply if you dont give coherent data: + +.. code-block:: bash + + curl -i -H "Content-type: application/json" -X POST -d '{"first_name":45, "last_name": "Doe"}' http://localhost:5000/users/ + + HTTP/1.0 400 BAD REQUEST + Content-Type: application/json + Content-Length: 41 + Server: Werkzeug/0.8.3 Python/2.7.2 + Date: Mon, 14 Oct 2013 13:24:53 GMT + {"error": "first_name does not validate"} diff --git a/docs/build/datastore.html b/docs/build/datastore.html index 545d844..44a159b 100644 --- a/docs/build/datastore.html +++ b/docs/build/datastore.html @@ -24,8 +24,8 @@ - - + +

""" return self.wsgi_app(environ, start_response) - def wsgi_app(self, environ, start_response): +

[docs] def wsgi_app(self, environ, start_response): request = Request(environ) response = self.dispatch_request(request) return response(environ, start_response) -
+