Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Create a REST API from any model you want thank your serializer. You can decide If you want an Authorization and if your datas are linked to an account.
DOC: https://drive.w4pity.fr/drive/Rest_object_documentation.pdf
in settings: Configure REST_FRAMEWORK for the authentification you want
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
}
Tips: You can also you JWT
Add on your INSTALL_APP:
'rest_object',
'rest_framework',
'rest_framework_jwt',
'rest_framework.authtoken',
'djoser',
Add on your url path (identification, user management):
url(r'^auth/', include('djoser.urls')),
url(r'^auth/', include('djoser.urls.authtoken')),
url(r'^auth/', include('djoser.urls.jwt')),
Usage:
1- Create your model ('Car' for example) 2- Create your class serializer for this model ('CarSerializer' for example) 3- Create a view for this model like this:
def car(request, id_car=None, cursor=None, amount=None):
return action(request, Car, CarSerializer, id_car, cursor, amount, is_restricted=False, linked_to_user=False)
4- Add 2 url for you model:
url(r'car/$', views.car, name='car'), # 'car'
url(r'car/(?P<id_car>\d+)$', views.car, name='carid'),
url(r'car/(?P<cursor>\d+)/(?P<amount>\d+)$', views.car, name='caramount'),
Tips: An Activity example is avaible in the source code
Tips: Token can be replaced by JWT
Model example:
User is a ForeignKey, so is_restricted ans linked_to_user need to be set as True
class Sms(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
text = models.TextField()
sender = models.CharField(max_length=64)
date = models.DateTimeField()
Add Header Token/jwt only if you need it
HEADER needed:
Authorization: Token e0ae370xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
RESPONSE:
[
{
"id": 1,
"sender": "Jacque",
"date": "2008-04-10 11:47:58-05",
"text": "je suis un sms"
},
...
]
HEADER needed:
Authorization: Token e0ae370xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
RESPONSE:
{
"id": 1,
"sender": "Jacque",
"date": "2008-04-10 11:47:58-05",
"text": "je suis un sms"
}
HEADER needed:
Authorization: Token e0ae370xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
BODY:
[
saved: [
{
"sender": "Jacque",
"date": "2008-04-10 11:47:58-05",
"text": "je suis un sms"
},
...
],
fails: [
...
]
]
RESPONSE:
{
"id": 1,
"sender": "Jacque",
"date": "2008-04-10 11:47:58-05",
"text": "je suis un sms"
}
id: id of sms
HEADER needed:
Authorization: Token e0ae370xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
BODY:
{
"sender": "Jacque",
"date": "2008-04-10 11:47:58-05",
"text": "je suis un sms"
}
RESPONSE:
{
"id": 5,
"sender": "Jacque",
"date": "2008-04-10 11:47:58-05",
"text": "je suis un sms"
}
id: id of sms to delete
HEADER needed:
Authorization: Token e0ae370xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
RESPONSE:
{"status": "..."}
Use Djoser documentation to add the identification in your project:
FAQs
Create a REST API from any model you want thank your serializer. You can decide If you want an Authorization and if your datas are linked to an account.
We found that rest_object demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.