Laden...

Wie hoste und deploye ich eine HTTP API?

Erstellt von Kriz vor 4 Jahren Letzter Beitrag vor 4 Jahren 2.801 Views
K
Kriz Themenstarter:in
141 Beiträge seit 2017
vor 4 Jahren
Wie hoste und deploye ich eine HTTP API?

Hallo zusammen,
folgender Sachverhalt:
Ich habe eine App, welche im Rahmen einer "Registrierung" verschiedene Daten vom Nutzer abfragt. Diese Daten (es handelt sich einfach nur um fünf einfache strings) möchte ich nun in irgendeiner Form zugeschickt bekommen. Nach etwas googeln habe ich mir überlegt das per web api zu bewerkstelligen. Da ich mich alleridings noch nie mit dem Thema beschäftigt habe, Ist das eine mittelschwere Herausforderung.
ich habe mich an diese Anleitung gehalten hier
Wenn ich mittels postman auf die api zugreife, funktioniert das auch. Wenn ich nun das Projekt veröffentliche (in einen Ordner) habe ich dort aber ca 20 verschiedene Files, lade ich die nun einfach auf meine Domain und kann da dann genau so darauf zugreifen wie in Postman? Nur halt localhost mit der domain ersetzen?
Und wie sieht dann normaler http post befehl aus wie ich ihn dann in meiner app nutzen möchte?

Ich hoffe ich habe mich halbwegs verständlich ausdrücken können.

Kriz

16.807 Beiträge seit 2008
vor 4 Jahren

Hade ich die nun einfach auf meine Domain und kann da dann genau so darauf zugreifen wie in Postman? Nur halt localhost mit der domain ersetzen?

Les einfach die Doku ganz 😃
Host and deploy ASP.NET Core

Du musst die Anwendung deployen, wie jede andere (.NET) Anwendung auch.
Entweder als Folder (Flat Files) oder als Zip (Deployment Package) - alternativ auch Docker etc etc...

Und wie sieht dann normaler http post befehl aus wie ich ihn dann in meiner app nutzen möchte?

Suchst Du das, oder was ist die Frage?
HttpClient.PostAsync Methode

"Wie funktioniert POST" ist aber ein so grundlegendes Thema im Web als würdest Du Fragen "was ist der unterschied zwischen INT und STRING" - nur mal als Grundlagenvergleich. 😉

Was Du vermutlich willst ist eine Json basierte API.
Dabei hilft Dir: https://github.com/reactiveui/refit

Wenn Du das ASP.NET Core Todo Tutorial in der Doku gemacht hast, dann weißt Du eigentlich wie man Daten in Form eines Modells an eine API schickt und von dieser empfängt.

K
Kriz Themenstarter:in
141 Beiträge seit 2017
vor 4 Jahren

Vielen Dank für die Antwort!
Mein grösstes Problem ist es die Api auf meinem Domain zum laufen zu bekommen. Wenn ich das Projekt deploye, erhalte ich ca 400 Files inkl einer Exe. Die ganzen Files lade ich dann auf meine Domain hoch, habe dann aber Probleme dir Exe zu starten.
Ich habe die Domain von 1&1 und kann via Putty auf die Domain zugreifen, wenn ich aber versuche die Exe zu starten, bekomme ich nur als Meldung "permission denied".
Auch habe ich die Exe bei den cronjobs hinzu gefügt, aber zugreifen kann ich immernoch nicht auf die api... 404 die ganze Zeit

Gibt es irgendwo ein Tutorial für richtig Dumme, wie ich die Api auf meIner Domain zum Laufen bekomme? Hatte nicht gedacht dass das so viel Zeit in Anspruch nimmt..

ich bin langsam auch schon so weit, dass ich statt einer api einfach ein Textfile erstelle und per sftp auf meine Domain lade. Das wäre funktional, wenn auch nicht die perfekte Lösung.

Kriz

16.807 Beiträge seit 2008
vor 4 Jahren

Die Exe, die Du Dir im Self-contained Deployment erstellt hast, startest Du nicht selbst, sondern der Webserver.
Ob 1und1 Self-contained Deployment oder eher Framework-dependent Deployment unterstützt, das hast Du vorher sicherlich schon in deren Doku nachgelesen und geprüft, wie auch die unterstützten .NET Core Versionen.
Ich würde eher vermuten, dass letzteres der Fall ist, wie es üblich wäre - weiß es aber nicht; nutze kein 1und1.

Gibt es irgendwo ein Tutorial für richtig Dumme, wie ich die Api auf meIner Domain zum Laufen bekomme

Die hier schon mehrfach erwähnte Dokumentation. Ich hab auch ehrlich gesagt wenig Lust Dir die Stellen aus der Doku zu kopieren, die Du selbst durchlesen kannst.

Hatte nicht gedacht dass das so viel Zeit in Anspruch nimmt..

Wenn Du erwartest, dass Du mit 3 Clicks eine fertige API deployen kannst, dann war das sehr optimistisch, um es freundlich auszudrücken.

Prinzipiell halte ich aber ja selbst ASP.NET Core Workshops und i.d.R. haben die Teilnehmer innerhalb der ersten 30 Minuten Hands-On ihre erste lauffähige API.
Ich verwende hier i.d.R die Samples von Microsoft. Daher kann ich Dir auch guten Gewissens sagen, dass die Samples super sind und auch alles in der Doku enthalten ist, was man für die ersten Schritte benötigt.

Basis-Workshops gehen aber i.d.R. 2-3 Tage - nur mal um eine Hausnummer zu nennen, was die Wissensmenge für die Mindest-Grundlagen einer ordentlichen API ist.

ich bin langsam auch schon so weit, dass ich statt einer api einfach ein Textfile erstelle und per sftp auf meine Domain lade. Das wäre funktional, wenn auch nicht die perfekte Lösung.

Ich weiß nicht genau was Du vor hast, aber wenn Du nur statische Informationen hast, ist ein statisches Ausliefern von Informationen, die keine Ansprüche an Security haben, ein üblicher Weg.
Nennt sich static blob bzw. static content hosting. Dafür würde ich keine ASP.NET Core API verwenden. Kanonen auf Spatzen und so.

Beispiel: alle statischen Ressourcen dieses Forums werden nicht vom Webserver ausgeliefert, sondern von einem statischen Storage - ohne API oder Webanwendung.
Und um es noch ein wenig günstiger und schneller zu machen steht auch noch ein CDN vor dem Storage (konzeptionell ist der aber optional).

3.003 Beiträge seit 2006
vor 4 Jahren

Da ich selber einiges bei Ionos hoste, kurze Rückfrage:

Ich habe die Domain von 1&1

Was genau hast du von Ionos? Nur die Domain? Managed Server? Dieses (mir etwas schräg vorkommende) "Webhosting"-Angebot?

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

K
Kriz Themenstarter:in
141 Beiträge seit 2017
vor 4 Jahren

LaTino,
das ist der 1&1 Basic Vertrag vermute es wird dieses schräge Webhosting sein. An und für sich hatte die die Domain damals für ein ganz anderes Projekt (normale Website) gebucht. An APIs dachte ich da noch nicht und in meinen Einstellungen sehe ich auch nirgends irgendwas von Servern oder Webservices oder irgendetwas in der Richtung.

3.003 Beiträge seit 2006
vor 4 Jahren

Es ist dein Vertrag. Wieso vermutest du, um was es sich handelt? Wenn es irgendwer wissen sollte, dann doch wohl du.

http://login.ionos.de anmelden
https://mein.ionos.de/subscriptions

Dort kannst du auch ggf die Daten und Anleitungen für dein Webhosting finden. Ionos' Kundenservice ist (zumindest meiner Erfahrung nach) überraschend gut, die werden dir eher weiter helfen können als ein C#-Forum. Dein Problem liegt ja nicht direkt an C# 😉.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

K
Kriz Themenstarter:in
141 Beiträge seit 2017
vor 4 Jahren

Weil ich mich, wie gesagt, überhaupt nicht mot dem Thema auskenne und dem entsprechend auch gar nicht weiß was ich brauche. Bis jetzt dachte ich, dass ich mich mittels putty in meine domain einloggen um dort einfach die exe zu starten, aber anscheinend reicht das doch nicht. Aber stimmt, der Kundenservice ist dann mal meine nächste Anlaufstelle.
Danke