①:发送消息接口:
传入JSON:接收来自前端的消息相关内容(如接收者ID,消息title,消息内容等)
返回JSON:状态码和相关信息
②:某用户收到的消息列表接口:
根据用户ID获取用户收到的消息,只取非删除消息。
返回JSON:用户所有消息
说明:该接口需要分页获取数据,并且可分别获取已读和未读消息
③:删除消息接口:
根据消息ID,删除消息
自己按官方文档写了两个,不过不符合要求,请问这几个接口怎么写?或者有类似的实例,能否给个链接。
url.py
#-*- coding:utf-8 -*-
from django.conf.urls import url, include`请输入代码`
from rest_framework import routers, serializers, viewsets
from django.contrib import admin
from just_pt.demo.models import *
#所有用户信息接口
class Usermessage(serializers.HyperlinkedModelSerializer):
class Meta:
model = UserMessage
fields = ('recv_user', 'send_user', 'readed', 'status','create_time','message')
class UserMessageViewSet(viewsets.ModelViewSet):
queryset = UserMessage.objects.all()
serializer_class = Usermessage
#所有信息接口
class Message1(serializers.HyperlinkedModelSerializer):
class Meta:
model = Message
fields = ('status', 'title', 'content', 'category')
class MessageSet(viewsets.ModelViewSet):
queryset = Message.objects.all()
serializer_class = Message1
#发送信息接口
#用户收取信息接口
#删除信息接口
router = routers.DefaultRouter()
router.register(r'users', UserMessageViewSet)
router.register(r'message', MessageSet)
# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]
models.py
# -*- coding: utf-8 -*-
# Apr.26.2016
from django.db import models
class Message(models.Model):
""" 消息
status:消息状态(0:正常,1:删除),默认为0;
title:消息标题;
content:消息内容;
categoriy:消息类型(0:系统消息,1:用户消息),demo考虑0即可
"""
status = models.SmallIntegerField(verbose_name=u'状态', default=0)
title = models.CharField(verbose_name=u'消息标题', max_length=64)
content = models.TextField(verbose_name=u'消息内容', null=True, blank=True)
category = models.PositiveSmallIntegerField(verbose_name=u'消息类型',
default=0)
def __unicode__(self):
return u'%s' % self.title
class UserMessage(models.Model):
""" 用户消息
recv_user:接收者(用户ID);
send_user:发送者(用户ID),系统消息时用户ID为1;
readed:消息是否已读;
status:消息状态(0:正常,1:删除);
create_time:消息发送时间;
message:消息外键
"""
recv_user = models.IntegerField(verbose_name=u'接收者', null=True, blank=True)
send_user = models.IntegerField(verbose_name=u'发送者', null=True, blank=True)
readed = models.BooleanField(verbose_name=u'已读', default=False)
status = models.IntegerField(verbose_name=u'记录状态', default=0)
create_time = models.DateTimeField(verbose_name=u'创建时间', auto_now_add=True)
message
你的问题稍微笼统或者是有点大,你是不会写api接口,还是不会写消息处理的代码,还是中间处理数据遇到了什么问题,明确了具体问题,大家才能给你回答呀,很少有人愿意把你需要的全部代码写出来,如果你就是想要真个的代码的话,这个方式就不提倡了:偏懒。