Hallo zusammen,
aktuell greife ich auf eine entfernte Datenbank zu. Ich würde gerne davon weg kommen und suche aufgrund dessen eine Alternative.
Jetzt habe ich öfters gelesen, dass eine RestAPI dafür gut sein soll. Auf der Suche via Google bin ich auf RestSharp gestoßen.
Kann jemand RestSharp empfehlen oder empfiehlt generell etwas anderes als eine RestAPI?
RestSharp ist nur die Client Seite.
Damit kannst du später an die eigentliche Rest API andocken.
Was du brauchst ist eine Web API.
Auch dazu gibt es eine gute Dokumentation bei Microsoft.
Für den Client kenne ich noch Refit - macht das alles sehr viel einfacher
Und als kleiner Hinweise:
ASP.NET != ASP.NET Core
Letzteres ist der Nachfolger
Viele alte Blogs oder Foren-Fragen gehen nur auf ASP.NET ein, daher ist es nützlich, den Unterschied zu kennen.
Der Link von T-Virus ist aber korrekt, obwohl da nur ASP.NET steht.
Hier im Forum (auch hier) leider schon oft falsch referenziert worden (Ja, nicht ganz einfach, Microsoft Namen halt).
Aber hier die Übersicht:
> ASP.NET ist die Marke
> ASP.NET WebAPI ist ein (eingestelltes) Produkt in der ASP.NET Familie. Wird in den Dokus nur noch aus historischen Gründen so bezeichnet.
> ASP.NET Core ist das Framework, in das u.a. auch das ehemalige Produkt "WebAPI" integriert wurde (schon seit MVC 1.0!).
Zitat von T-Virus
Was du brauchst ist eine Web API.
Habs schon paar mal hier im Forum gesagt, aber an der Stelle hier passt auch ganz gut.
Web API ist ein Microsoft Produkt, keine Technologie in dieser Ausdrucksweise.
Was er braucht trägt den Namen "HTTP API", nicht zwangsweise "Web API"; wobei "REST API" dann die Implementierung durch Angabe des Standards davon wäre.
Bei Namen darf man durchaus exakter sein als bei anderen Dingen, weil das schon weitreichende Folgen haben kann, wenn man da was verwechselt / falsch angibt.
PS: ob eine REST API, eine GraphQL API oder eine gRPC API die besse Wahl der Implementierung wäre, dafür fehlen die Informationen des Thread-Erstellers.
Alle drei haben ihre Existenzberechtigung, ihre Vorteile und Nachteile.
Hallo zusammen,
vielen Dank für eure Hilfestellungen, die haben mich schon etwas voran gebracht.
Aktuell habe ich es hinbekommen, dass Daten per URL angezeigt werden. Allerdings als array object und nicht als JSON.
Hat jemand von euch die Daten aus einem Array weiter verarbeitet?
Ich habe es mit JObject versucht, da ich zuerst dachte die Daten würden als JSON weitergegeben werden.
var client = new RestClient("https://daustausch.heinrich-luebke-schule.de/ReadAPI/faecher");
var request = new RestRequest(Method.GET);
IRestResponse restResponse = client.Execute(request);
string response = restResponse.Content;
var jObject = JObject.Parse(restResponse.Content);
string fachID = jObject.GetValue("id").ToString();
string fach = jObject.GetValue("fach").ToString();
_faecher.Add(new Fach(fachID, fach));
Die Daten werden bis hier hin erfolgreich geladen:
string response = restResponse.Content;
Nachdem er es Parsen soll, sagt er das es nicht das richtige Format sei (logisch).
Ich nutze das "Slim Framework" zum Auslesen der Datenbank und Bereitstellung.
Eventuell gibt es noch eine Alternative, dass Array weiter zu verarbeiten?
Vielen Dank für deine Tipp!
Die Authentifizierung kommt später. Als Anfänger baue ich eins nach dem anderen aus. Es muss für mich erst die Grundfunktion klappen bevor ich es "zubaue".
Ich weiß, eine seltsame Herangehensweise, aber so lerne ich am besten.
Ich habe jetzt, mittels json_encode die Daten umgewandelt.
Und zusätzlich sei auf System.Text.Json verwiesen, was Json.NET im grunde ersetzt.
Dies ist von der Usability recht identisch, kannst du also direkt verwenden.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Vielen Dank für die vielen Tipps! Ich werde mir das ganze anschauen und mein Script entsprechend anpassen.
Ich bin aktuell bei der Authentifizierung und Autorisierung.
In C# nutze ich RestSharp.
Mit:
var client = new RestClient("http://example.com");
client.Authenticator = new SimpleAuthenticator("username", "foo", "password", "bar");
var request = new RestRequest("resource", Method.GET);
client.Execute(request);
schicke ich die Anfrage an den Server und bekommen die Info, ob die Anmeldedaten passen, zurück. Soweit verständlich.
Auf der anderen Seite nutze ich Lumen (Laravel). Dort muss ich die Daten annehmen und prüfen. Es gibt grundsätzlich bei mir keine Useraccounts. Soll ich extra eine Tabelle anlegen und mit dieser vergleichen? Macht das Sinn?
Wenn ich in RestSharp den Benutzername und das Passwort einfüge, kann das Programm nicht dennoch "ausgelesen" werden und die Zugangsdaten sind offen?
Über hilfreiche Tipps wäre ich sehr Dankbar!
Liebe Grüße und einen schönen Sonntag noch!
Sascha
Wenn ich in RestSharp den Benutzername und das Passwort einfüge, kann das Programm nicht dennoch "ausgelesen" werden und die Zugangsdaten sind offen?
Deswegen nutzt man token basierte Authentifizierung und Autorisierung, damit man primäre Informationen nicht abfangen kann.
Les dir einfach mal Tutorials dazu durch, zB die von Microsoft.
Posts bzw. Threads werden i.d.R. nicht gelöscht, da sie ja auch für die Community interessant sein können und "gemeinsam mehr erreichen" gilt.
Wenn der Thread aber "erledigt" ist, so kannst du den Titel (via Startbeitrag editieren) mit einem [erledigt] voranstellen, damit diese deutlicher sichtbar ist.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
...
Wenn der Thread aber "erledigt" ist, so kannst du den Titel (via Startbeitrag editieren) mit einem [erledigt] voranstellen, damit diese deutlicher sichtbar ist.
...
Gibt es für Startbeiträge eine Sonderregel? Normale Antworten können Normalsterbliche nach einer gewissen Zeit nicht mehr editieren.
@Sascha87
Auch in dem Fall wäre es sinnvoll gewesen die Frage zu belassen und ggf. noch die Antwort dazu zu packen.
Wenn diese zum Thema gehört, kann es u.U. auch für andere hilfreich sein um Folgeprobleme zu lösen.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.