如何从外部非DNN网站访问2sxc API

问题描述

我正在尝试使用邮递员访问2sxc api,但由于某些原因无法正常工作。

$2sxc(moduleContext)
      .webApi.get('app/auto/api/List/persons')

我正在使用[Domain] / DesktopModules / api / 2sxc / counterapp / List / persons

但是我收到404错误

使用$ 2sxc确实有效。但是我想从非DNN网站拨打电话。代码Foto: 2sxc api controller

解决方法

您必须了解3种魔法。

  1. 您是否只需要使用REST(获取全部,1,更新,删除),自定义查询或自定义处理代码的任何内容
  2. 正确的路径
  3. 权限

通常,所有使用$ 2sxc的示例也可以在外部使用,但是必须修改URL(因为自动检测无效),并且必须设置权限。

对于URL路径,您可以使用与$ 2sxc调用相同的名称(请检查F12 JS控制台),但用应用名称替换auto,因为auto在DNN之外不起作用。

对于权限,您必须在内容类型级别(内容类型侧面的人员图标)添加权限

好消息BTW:2sxc 11.08或11.09将针对此用例内置很多admin-UI指南:)

,

您是在内容应用程序中还是在自己的自定义应用程序中?

如果您在Content App中,则存在自动路径

https://example.com/DesktopModules/2sxc/api/app/content/content/Person
|------------------ root -------------------|- app/id --|-part--|--type

以上内容无需编写代码(控制器)即可正常工作。

如果您使用自己的自定义应用程序,则将编写自己的自定义控制器。您可以在这里ASP.net WebAPI in 2sxc上找到有关内容。在伪造的示例中,下面是Portals / 0 / 2sxc / myapp / api / PublicController.cs

https://example.com/api/2sxc/app/myapp/api/public/persons
|------------------ root ----|-app/id--|-controller|-function

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...