restfull rql版本功能

cubicweb-rqlcontroller的Python项目详细描述


摘要

为用户提供RQL读/写功能的控制器。

示例用法

此服务的用户必须对其终结点执行http post请求, 这是附加了 “rqlio/1.0”url路径。

发布的数据必须使用application/json mime类型,并包含 形式对(rql_string,rql_args),其中:

  • rql_string是任何有效的rql查询,它可能包含 他们通常的形式
  • rql_args是一个字典,其键是来自 rql_string,值可以是:
    • 实际值
    • 对上一个RQL查询结果的字符串引用,其中 假设引用的rql查询返回一行 单列rset;在这种情况下,字符串引用 必须是“\uu rxxx”,其中xxx是中rql查询的(基于0的)索引 json编码的查询列表。

http请求的响应(在没有错误的情况下)是 json编码的列表。它的长度是请求中的rql查询数, 每个元素都包含来自 相应的查询。

如果出现错误,带有reason键的json对象将解释 问题。

使用python请求的python客户端示例:

import requests
import json

args = [('INSERT CWUser U: U login %(l)s, U upassword %(p)s',
        {'l': 'Babar', 'p': 'cubicweb rulez & 42'}),

       ('INSERT CWGroup G: G name "pachyderms"', {}),

       ('SET U in_group G WHERE U eid %(u)s, G eid %(g)s',
        {'u': '__r0', 'g': '__r1'})
       ]

resp = requests.post('https://myinstance.example.com/rqlio/1.0'),
                     data=json.dumps(args),
                     headers={'Content-Type': 'application/json'})
assert resp.status_code == 200

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么我的代码永远运行?它只是一堆带int的for循环,应该是递减的?   java如何更改IntelliJ IDEA中的XML缩进?   java如何使未填充的int数组不打印0?   eclipse My Weka Java代码结果*Weka*虚拟*STRING*用于*STRING*属性*   java泄漏了Windows com。安卓内部的政策恳求   java这个无限循环的原因是什么?   swing My标签在Java中很模糊   java如何在组件表示存储扩展中获取组件对象   java如何避免selenium网格中的会话超时   Java乘法测验,如果答案错误,如何循环   在Java HttpServlet Google app engine中保存对象   java ArrayList过滤器   java跳跃减慢了xvelocity:使用Libgdx/Box2D进行跳跃和跑步   java删除、复制和修改pom。xml文件   当提供的时区与服务器的时区相同时,RestCall中的java@DateTimeFormat(iso=iso.DATE_TIME)不工作   java Spring批处理多线程默认限制为10隐式?   安卓错误java。lang.UnsupportedOperationException:无法转换为维度:type=0x1