创建应用程序使用Microservices

  • Evoq内容
  • Evoq参与

概述

款提供api,您可以使用它从应用程序访问microservices。从本质上说,应用程序只需要生成HTTPS请求https://dnnapi.com/content与特定的URL路径中的信息,网址查询,或请求的身体,以及一个API密匙在HTTP头。结果发送回服务器的响应。

结构化内容api内容类型,内容项,出版内容项,可视化工具引擎,可视化工具定义和可视化工具实例。

款Microservices 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查询。
  1. 如果你不知道内容项的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”:“字符串”}
  2. 如果你知道内容项的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 ": "字符串"}
  3. 复制从返回的内容项的值对象粘贴到自己的PUT请求的身体。然后选择你想要替换的值改变。人体参数必须在这种格式:
    {" id ":“11111111 -…”“contentTypeId”:“弦”、“contentTypeName”:“弦”、“名称”:“我的新名字”、“描述”:“我的新描述在这里。”“语言”:“弦”、“alreadyPublished”:真的,“细节”:{},“currentVersion”: 0,“用法”:0,“createdAt”:“弦”、“createdBy”: {" id ":“字符串”,“名字”:“弦”、“缩略图”:“字符串”},“updatedAt”:“弦”、“updatedBy”:“StructuredContent.Models。用户信息”、“stateId”: 0,“标签”:[“标签1”、“标签2”,“tag3”、“新标签”,“clientReferenceId ": "字符串"}
    注意:你不能改变的ID。
  4. 构建你的PUT请求的URL包含路径参数(id)和可选的查询参数(发布)。例子:如果id是“11111111-1111-1111”,你想要更改立即发表,那么URL将如下:
    https://dnnapi.com/content/api/contentitems/11111111 - 1111 - 1111 - ?publish=true
记住:在header包含身份验证令牌。