[C#]Jak wykonać request do api


(MrGalek) #1

Hejka
Chciałem zrobić prostą apkę do pokazywania aktualnego kursu walut. Znalazłem api na http://api.nbp.pl . Wiem że w odpowiedzi dostanę plik XML i poparsowane go dalej to nie problem (sprawdzałem PostManem), ale nie wiem jak ten plik a raczej jego zawartość dostać w mojej aplikacji. Czytałem na MSDN o HTTPReqest ale nie do końca ja rozumiem. Czy mógłby ktoś mi pomóc jak np: zrzucić zawartość tego XMLa do mojej apki.
Pozdrawiam MrGalek


(Fizyda) #2

Wysyłasz przy pomocy, np. wspomnianego HTTPRequest żądanie typu GET na odpowiedni adres URL który bierzesz z API, a zwrócony wynik parsujesz w zależności od typu danych jaki masz XML/JSON i używasz w aplikacji.


(djfoxer) #3

Sprawdź RestSharpa. Polecam.


(slepcu) #4

Do tworzenia bibliotek klienckich do API można użyć generatorów. Tak samo jak kiedyś się tworzyło klasy z plików WSDL.

Ja ostatnio używałem Swagger - nuget Swashbuckle, który tworzy dokumentacje do API w formie strony html oraz json, a z tego jsona wygenerowałem klasy dla każdego kontrolera Webapi w 10 sekund. Musiałem tylko oszukać klasę klienta API (przez rozszerzenie jej i dodanie konstruktora bez jednego parametru) bo VisualStudio 2017 ma wbudowany generator z Swaggera na potrzeby Azure, domyślny publiczny konstruktor wymaga podania danych autoryzacji do Azure.

W razie problemów podrzucę ci mój projekt.


(MrGalek) #5

Dzięki za odp. Udało mi się ogarnąć standardowym HttpRequestem :slight_smile: