小编jga*_*ers的帖子

使用HTTP状态代码反映Web服务请求的成功/失败?

我正在实现一个返回JSON编码的有效负载的Web服务.如果服务调用失败 - 例如,由于参数无效 - 将返回JSON编码的错误.但是,我不确定在那种情况下应该返回什么HTTP状态代码.

一方面,似乎HTTP状态代码适用于HTTP:即使返回了应用程序错误,HTTP传输本身也是成功的,建议200 OK响应.

另一方面,RESTful方法似乎暗示如果调用者试图发布到资源,并且请求的JSON参数以某种方式无效,则400 Bad Request是合适的.

我在客户端使用Prototype,它有一个很好的机制,可以根据HTTP状态代码(onSuccessonFailure)自动调度到不同的回调,所以我很想用状态代码来表示服务成功或失败,但我有兴趣听听是否有人对此事有共同惯例的意见或经验.

谢谢!

javascript ajax json http prototypejs

10
推荐指数
1
解决办法
3830
查看次数

在声明性SQLAlchemy中创建容器关系

我的Python/SQLAlchemy应用程序管理一组节点,所有节点都是从基类Node派生的.我正在使用SQLAlchemy的多态性功能来管理SQLite3表中的节点.这是基本Node类的定义:

class Node(db.Base):
    __tablename__ = 'nodes'
    id = Column(Integer, primary_key=True)
    node_type = Column(String(40))
    title = Column(UnicodeText)
    __mapper_args__ = {'polymorphic_on': node_type}
Run Code Online (Sandbox Code Playgroud)

并且,作为示例,派生类之一,NoteNode:

class NoteNode(Node):
    __mapper_args__ = {'polymorphic_identity': 'note'}
    __tablename__ = 'nodes_note'
    id = Column(None,ForeignKey('nodes.id'),primary_key=True)
    content_type = Column(String)
    content = Column(UnicodeText)
Run Code Online (Sandbox Code Playgroud)

现在我需要一种新的节点ListNode,它是零个或多个Node的有序容器.当我加载ListNode时,我希望它具有其ID和标题(来自基本Node类)以及其包含的(子)节点的集合.一个节点可能会出现在不止一个ListNode,所以它不是一个适当的层次.我会沿着这些方向创建它们:

note1 = NoteNode(title=u"Note 1", content_type="text/text", content=u"I am note #1")
session.add(note1)

note2 = NoteNode(title=u"Note 2", content_type="text/text", content=u"I am note #2")
session.add(note2)

list1 = …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

3
推荐指数
1
解决办法
2250
查看次数

标签 统计

ajax ×1

http ×1

javascript ×1

json ×1

prototypejs ×1

python ×1

sqlalchemy ×1