Skip to content

Problem z dynamic routes #15

Description

@melendawr

Proszę w wolnej chwili o przykład wykorzystania Routes, szczególnie dynamicznych.
Przy próbie wykorzystania np. w przypadku takiej klasy:

using Soneta.Types.DynamicApi;

namespace Test.API
{
    public interface ITestAPI
    {
        [DynamicApiMethod(HttpMethods.GET, nameof(GetKontrahenci), Route = "/kontrahenci")]
        //[DynamicApiMethod(HttpMethods.GET, nameof(GetKontrahenci))] //WOULD WORK
        public string GetKontrahenci();

        [DynamicApiMethod(HttpMethods.GET, nameof(GetKontrahent), Route = "/kontrahenci/{kod}")]
        //[DynamicApiMethod(HttpMethods.GET, nameof(GetKontrahent))] //WOULD WORK
        public string GetKontrahent(string kod);
    }
}

API zwraca 404 - not found - jeżeli testujemy w Swagger.

W przypadku testów przez Postman można wskazać inne URLe, wysyłka np. na http://[domena]:[port]/api/kontrahenci zwraca 401. 401 także jest zwracane w przypadku nieistniejących URLi np. http://[domena]:[port]/api/kontrahents albo http://[domena]:[port]/api/wszyscykontrahenci. Zapytanie GET http://localhost:9010/kontrahenci powoduje zwrotkę 404 (w sumie zgodnie z oczekiwaniami, ponieważ spodziewamy się przedrostka /api/ w URLach).

Potrzeba polega na napisaniu dodatku z API z bardziej dynamicznymi URLami, np.:

GET http://[domena]:[port]/api/kontrahenci/{kod}/osoby
GET http://[domena]:[port]/api/kontrahenci/{kod}/kontakty
GET http://[domena]:[port]/api/kontrahenci/{kod}/osoby

Albo

POST http://[domena]:[port]/api/setstan/{stan}/dokewidencji/{id}
POST http://[domena]:[port]/api/setstan/{stan}/dokhandlowe/{id}

Pow. jako przykład, rzeczywisty use-case jest trochę bardziej rozbudowany, żeby go tutaj opisywać.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions