Créer l'API pour des modules personnalisés

Introduction

Si vous avez créé un module personnalisé pour ONLYOFFICE et si vous l'avez ajouté à ONLYOFFICE Workspace en suivant ces instructions, vous pouvez également créer une API pour ce module.

Créer une API pour un module personnalisé

  1. Créez un projet de Bibliothèque de classes (ASC.Api.Sample) et placez-le dans le dossier ...module\ASC.Api\ASC.Api.Sample.
    IMPORTANT Le nom du fichier DLL de sortie doit être ASC.Api.*.dll;
  2. Ajoutez les références requises à partir de ...\web\studio\ASC.Web.Studio\bin\:
    ASC.Api.dll
    ASC.Web.Sample.dll
  3. Créez la classe SampleApi et implémentez l'interface IApiEntryPoint:
    public class SampleApi : IApiEntryPoint
    {
        public string Name
        {
            get { return "sample"; }
        }
    }
  4. Créez des méthodes publiques avec les attributs spécifiques:
    [Attributes.Create("create", false)]
    public SampleClass Create(string value)
    {
        return SampleDao.Create(value);
    }

    L'attribut précise le type de méthode, le chemin par lequel cette méthode sera appelée, ainsi que l'autorisation et la vérification du plan tarifaire. Les options possibles sont présentées ci-dessous:

    CreateAttribute(string path, bool requiresAuthorization = true, bool checkPayment = true) //corresponds to the "POST" request
    UpdateAttribute(string path, bool requiresAuthorization = true, bool checkPayment = true) //corresponds to the "PUT" request
    DeleteAttribute(string path, bool requiresAuthorization = true, bool checkPayment = true) //corresponds to the "DELETE" request
    ReadAttribute(string path, bool requiresAuthorization = true, bool checkPayment = true) //corresponds to the "GET" request

    Les paramètres requiresAuthorization et checkPayment sont facultatifs et sont définis sur true par défaut.

  5. Définissez le chemin de sortie dans les propriétés du projet comme suit:
    <OutputPath>..\..\..\web\studio\ASC.Web.Studio\bin\</OutputPath>
    <DocumentationFile>..\..\..\web\studio\ASC.Web.Studio\bin\ASC.Api.Sample.XML</DocumentationFile>

    pour que les builds soient générés dans le dossier web\studio\ASC.Web.Studio\bin.

  6. Le projet peut être généré manuellement ou à l'aide du générateur. Pour ce dernier, ajoutez les lignes suivantes au fichier build\msbuild\build.proj:
    <ProjectToBuild Include="$(ASCDir)module\ASC.Api\ASC.Api.Sample\ASC.Api.Sample.csproj"/>

    et exécutez le fichier build\Build.bat.

  7. IMPORTANT Ajoutez ASC.Api.Sample.SampleApi au fichier web\studio\ASC.Web.Studio\web.autofac.config:
    <component
              type="ASC.Api.Sample.SampleApi, ASC.Api.Sample"
              service="ASC.Api.Interfaces.IApiEntryPoint, ASC.Api"
              name="sample"/>
  8. Générez le projet, lancez le site web et testez la méthode en effectuant une requête avec jQuery:
    $.ajax({
        type: "POST",
        url: "http://localhost:port/api/2.0/sample/create.json",
        data: {value: "create"}
    });
Articles avec le tag :
Parcourir tous les tags