【问题标题】:How to access 2sxc API from external non DNN website如何从外部非 DNN 网站访问 2sxc API
【发布时间】:2020-10-08 13:53:48
【问题描述】:

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

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

我正在使用 [域]/DesktopModules/api/2sxc/counterApp/List/persons

但我收到 404 错误。

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

【问题讨论】:

    标签: dotnetnuke 2sxc dnn9


    【解决方案1】:

    有 3 个魔法你必须了解。

    1. 您只想要任何带有 REST(获取全部、1、更新、删除)、自定义查询或自定义处理代码的内容
    2. 正确的路径
    3. 权限

    一般情况下,所有使用 $2sxc 的示例也可以从外部工作,但您必须修改 URL(因为自动检测不起作用)并且您必须设置权限。

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

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

    顺便说一句,好消息:2sxc 11.08 或 11.09 将在 admin-UI 中内置大量指导,仅针对此用例 :)

    【讨论】:

    • 我会兴奋地等待?
    【解决方案2】:

    您是在 Content App 中还是在您自己的自定义应用中?

    如果您在 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
    

    【讨论】:

    • 感谢您抽出宝贵时间对此进行解释?
    猜你喜欢
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 2021-01-14
    相关资源
    最近更新 更多