创建应用程序使用Microservices
概述
款提供api,您可以使用它从应用程序访问microservices。从本质上说,应用程序只需要生成HTTPS请求https://dnnapi.com/content与特定的URL路径中的信息,网址查询,或请求的身体,以及一个API密匙在HTTP头。结果发送回服务器的响应。
结构化内容api内容类型,内容项,出版内容项,可视化工具引擎,可视化工具定义和可视化工具实例。
授权
之前你的应用程序可以访问的内容类型和项目网站,网站的主机/超级用户必须提供一个API密匙的网站。API键可以授予只读或读写权限内容项和/或内容类型属于相关的网站。
在你请求的HTTP头,必须包括一个授权设置;即。“授权:无记名myAPIkey”。
HTTP请求
每个API是一个HTTP请求方法:GET、POST、PUT或DELETE。例子:ContentTypes集团下的结构化内容microservice允许您执行以下操作:
- 要检索所有项目或特定项目的列表
- 创建一个新的项目
- 更新现有条目
- 删除删除现有的项目
一个项目可能是一个内容类型,一个内容项,出版内容项,可视化工具或可视化工具实例。
重要的是:所有API HTTP请求Evoq网站必须去https://dnnapi.com/content。
microservices预计参数的API在其中一个地点:
- URL查询。如果API检索(得到)一个项目列表,根据一组标准,标准中键值指定为可选查询URL的一部分。
- URL路径。如果API检索(得到),修改(把),或删除(删除)一个特定的项目,项目的ID通常是添加到URL路径。
- 消息体。如果API创建(POST)或修改(把)一个项目,新项目的属性(POST)或现有项目的新属性(把)中指定一个json序列化数据传输对象(DTO)在体内的请求。DTO中的字段根据项目类型而变化。
HTTP方法 | 客观的 | 典型的URL路径 | HTTP的身体 |
---|---|---|---|
得到 | 项目列表 | https://dnnapi.com/content/api/apiname吗?场=价值 | (不是必需的)。 |
得到 | 特殊的项目 | https://dnnapi.com/content/api/apiname/itemID | (不是必需的)。 |
帖子 | 特殊的项目 | https://dnnapi.com/content/api/apiname/itemID?发布= TRUE | JSON DTO |
把 | 特殊的项目 | https://dnnapi.com/content/api/apiname/itemID?发布= TRUE | JSON DTO |
删除 | 特殊的项目 | https://dnnapi.com/content/api/apiname/itemID | (不是必需的)。 |
HTTP响应
如果API返回一个项目或一个项目列表,结果是一个json序列化DTO的身体反应。
如果结果是一个列表,身体的反应是一个JSON对象包含以下:
- 一个文档中每一项的数组,其中包含的信息的一个JSON对象,和
- 一个totalResultCount的值表示返回的条目数量。
如果结果是一个单项,身体的反应是一个JSON对象,它只包含项目。
获取项ID
每个项目都有一个惟一的ID,用于标识它,无论它的类型。许多api需要采取行动的具体项目的ID。
你可以确定一个特定的ID项进行过滤和解析响应的主体。例子:GET / api / ContentTypes api返回一个json格式的列表查询匹配的URL中指定的标准。结果列表的每个元素包括一对与关键id
。
例子
这个例子更新内容项使用把/ api / ContentItems / {id}API,它接受三个参数:
id
。(string)所需的路径。contentItem
。(json格式的字符串)需要请求主体。发布
。(布尔)可选参数的URL查询。
- 如果你不知道内容项的ID、使用获得/ api / ContentItems你想要与参数相匹配的标准。然后从返回的列表中找到你想要的内容项。返回列表的内容条目对象将在这种格式:
{“文件”:[{" id ":“11111111 -…”“contentTypeId”:“myContentType”、“contentTypeName”:“myContentType”、“名称”:“myContentItemName”、“描述”:“字符串”,“语言”:“弦”、“alreadyPublished”:真的,“细节”:{},“currentVersion”: 0,“用法”:0,“createdAt”:“弦”、“createdBy”: {" id ":“字符串”,“名字”:“字符串”,“缩略图”:“字符串”},“updatedAt”:“弦”、“updatedBy”:“StructuredContent.Models。用户信息”、“stateId”: 0,“标签”:[“标签1”、“标签2”,“tag3”),“clientReferenceId ": "字符串"},{" id ": " 22222222 -…”,……},{" id ":“33333333 -……”,……}……),“totalResultCount”:“字符串”}
- 如果你知道内容项的ID,可以使用获得/ api / ContentItems / {id}。返回的内容项对象将在这种格式:
{" id ":“11111111 -…”“contentTypeId”:“弦”、“contentTypeName”:“弦”、“名称”:“弦”、“描述”:“字符串”,“语言”:“弦”、“alreadyPublished”:真的,“细节”:{},“currentVersion”: 0,“用法”:0,“createdAt”:“弦”、“createdBy”: {" id ":“字符串”,“名字”:“字符串”,“缩略图”:“字符串”},“updatedAt”:“弦”、“updatedBy”:“StructuredContent.Models。用户信息”、“stateId”: 0,“标签”:[“标签1”、“标签2”,“tag3”),“clientReferenceId ": "字符串"}
- 复制从返回的内容项的值对象粘贴到自己的PUT请求的身体。然后选择你想要替换的值改变。人体参数必须在这种格式:
{" id ":“11111111 -…”“contentTypeId”:“弦”、“contentTypeName”:“弦”、“名称”:“我的新名字”、“描述”:“我的新描述在这里。”“语言”:“弦”、“alreadyPublished”:真的,“细节”:{},“currentVersion”: 0,“用法”:0,“createdAt”:“弦”、“createdBy”: {" id ":“字符串”,“名字”:“弦”、“缩略图”:“字符串”},“updatedAt”:“弦”、“updatedBy”:“StructuredContent.Models。用户信息”、“stateId”: 0,“标签”:[“标签1”、“标签2”,“tag3”、“新标签”,“clientReferenceId ": "字符串"}
注意:你不能改变的ID。 - 构建你的PUT请求的URL包含路径参数(id)和可选的查询参数(发布)。例子:如果id是“11111111-1111-1111”,你想要更改立即发表,那么URL将如下:
https://dnnapi.com/content/api/contentitems/11111111 - 1111 - 1111 - ?publish=true
记住:在header包含身份验证令牌。