#dotnetnuke #2sxc #dnn9
#dotnetnuke #2sxc #dnn9
Вопрос:
Я пытаюсь получить доступ к API 2sxc с помощью postman, но по какой-то причине не работает.
$2sxc(moduleContext)
.webApi.get('app/auto/api/List/persons')
Я использую [Domain]/DesktopModules/api /2sxc/ counterApp /List /persons
Но я получаю ошибку 404.
Использование $ 2sxc действительно работает. Но я хочу сделать звонок с веб-сайта, отличного от DNN. Код: Фото: контроллер API 2sxc
Ответ №1:
Есть 3 волшебных элемента, которые вы должны понять.
- Вам просто нужен какой-либо контент с REST (получить все, 1, обновить, удалить), пользовательские запросы или пользовательский код обработки
- Правильный путь
- Разрешения
В общем, все примеры, в которых используется $ 2sxc, также будут работать с внешнего, но вы должны изменить URL-адрес (поскольку автоматическое определение не работает), и вы должны установить разрешения.
Для URL-адреса вы можете использовать тот же путь, что и для вызовов $ 2sxc (проверьте консоль JS F12) auto
, но замените его именем приложения, так как auto не будет работать за пределами DNN.
Для получения разрешений вы должны добавить их на уровне типа контента (значок пользователя сбоку от типов контента)
Кстати, хорошие новости: 2sxc 11.08 или 11.09 будут содержать множество рекомендаций, встроенных в интерфейс администратора только для этого варианта использования 🙂
Комментарии:
1. Я буду ждать с волнением🤓
Ответ №2:
Вы находитесь в приложении контента или в своем собственном пользовательском приложении?
Если вы находитесь в приложении контента, есть автоматический путь
https://example.com/DesktopModules/2sxc/api/app/content/content/Person
|------------------ root -------------------|- app/id --|-part--|--type
Вышесказанное должно просто работать без написания кода (контроллера).
Если вы используете свое собственное пользовательское приложение, то вы написали свой собственный пользовательский контроллер. О котором вы можете прочитать здесь, ASP.net WebAPI в 2sxc. В приведенном ниже поддельном примере это будет в Portals/0/2sxc/myapp/api/PublicController.cs
https://example.com/api/2sxc/app/myapp/api/public/persons
|------------------ root ----|-app/id--|-controller|-function
Комментарии:
1. Спасибо, что нашли время и объяснили это 😁