Cant find custom API in 9.1

Hello!

Faced the problem of calling the custom API. Created a test CCC.CompositionAPI.Server.Plugin.dll according to the documentation. (source code below) 
The assembly is loaded by the API server (this can be seen in the log) but it is not clear how to access it. What endpoint?
In the previous version where API Designer was, custom methods were located at :"/localhost:8182/new/helloworld" as an example, where "new" is the technical name of the API project's.
Now it is not clear to which web application my custom methods are attached.

using QBM.CompositionApi.ApiManager; using QBM.CompositionApi.Crud ; using QBM.CompositionApi.Definition; namespace QBM.CompositionApi { public class CustomMethod : IApiProvider { public void Build(IApiBuilder builder) { // This is how a method can return objects of any type, // provided that the type can be serialized. builder.AddMethod(Method.Define("helloworld") .AllowUnauthenticated() .HandleGet(qr => new DataObject { Message = "Hello world!" })); // This is how posted data of any type can be processed. builder.AddMethod(Method.Define("helloworld/post") .AllowUnauthenticated() .Handle<PostedMessage, DataObject>("POST", (posted, qr) => new DataObject { Message = "You posted the following message: " + posted.Input })); // This is an example of a method that generates plain text (not JSON formatted). // You can use this to generate content of any type. builder.AddMethod(Method.Define("helloworld/text") .AllowUnauthenticated() .HandleGet(new ContentTypeSelector { // Specifiy the MIME type of the response. new ResponseBuilder("text/plain", (qr, ct) => { return System.Threading.Tasks.Task.FromResult(new System.Net.Http.HttpResponseMessage { Content = new System.Net.Http.StringContent("Hello world!") }); }) }, typeof(string))); } } // This class defines the type of data object that will be sent to the client. public class DataObject { public string Message { get; set; } } // This class defines the type of data object that will be sent from the client to the server. public class PostedMessage { public string Input { get; set; } } }

  • Hello,

    Apologies for the delay in replying.

    The API endpoint from your code is not attached to any API project, unless you attach it.

    You can attach it to an existing API project by implementing one of the following interfaces.
    - portal: IApiProviderFor<QER.CompositionApi.Portal.PortalApiProject>
    - opsupport: IApiProviderFor<QBM.CompositionApi.Operations.OperationsApiProject>
    - passwordreset: IApiProviderFor<QER.CompositionApi.Password.PasswordPortalApiProject>

    You may have to add an additional reference to QER.CompositionApi.Server.Plugin.dll

    So the following example will add the route: /portal/helloworld

    public class CustomMethod : IApiProviderFor<PortalApiProject>
    {
    	public void Build(IApiBuilder builder)
    	{
    		builder
    			.AddMethod(Method.Define("helloworld")
    			.AllowUnauthenticated()
    			.HandleGet(qr => new DataObject { Message = "Hello world!" }));
    	}
    }