Skip to content

Problem z dynamic routes #15

@melendawr

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions