Skip to content

Repository files navigation

NetworkHelper.dll

  • A NetworkHelper egy .NET Framework és C# projektekhez készült könyvtár, amely megkönnyíti a backend kommunikációt. A könyvtár egyszerűsíti az HTTP kérések küldését és a JSON válaszok feldolgozását.
  • Verzió: v0.1.3
  • Támogatott .NET Verziók: .NET Framework 4.7.2 vagy újabb

Első lépések

  • Könyvtár (DLL) letöltése:

    • Töltsd le a legújabb NetworkHelper.dll fájlt a GitHub Releases oldalról.
  • DLL hozzáadása a projektedhez:

    • Nyisd meg a Visual Studio-t és navigálj a Solution Explorer ablakhoz.
    • Jobb klikk a References elemre, válaszd az Add Reference lehetőséget.
    • A megjelenő ablakban kattints a Browse... gombra, és tallózd be a letöltött DLL fájlt.
    • Ellenőrizd, hogy a DLL megjelent a References alatt.

Backend Statikus Osztály Használata

A Backend statikus osztály segítségével könnyedén létrehozhatsz és küldhetsz HTTP kéréseket.

Elérhető HTTP Metódusok

MetódusLeírásPélda Használat
GETAdatok lekéréseBackend.GET(url).Send()
POSTÚj adatok létrehozásaBackend.POST(url).Body(body).Send()
PUTAdatok módosításaBackend.PUT(url).Body(body).Send()
DELETEAdatok törléseBackend.DELETE(url).Send()

GET Kérés Kiépítése

stringurl="http://localhost:3000/students";Responseresponse=Backend.GET(url).Send();

POST Kérés Kiépítése

Body felhasználása opcionális. Amennyiben nem szeretnél a body-ban adatot utaztatni, nem kötelező meghívni.

stringurl="http://localhost:3000/students";Studentstudent=newStudent{phone="12132",name="Sanyi",email="email"};Responseresponse=Backend.POST(url).Body(student).Send();

PUT Kérés Kiépítése

Body-val történő Azonosítás

A body felhasználása opcionális: ha nincs szükséged adatok küldésére, a body-t kihagyhatod.

stringurl="http://localhost:3000/students";Studentstudent=newStudent{id=11,name="Bela"};Responseresponse=Backend.PUT(url).Body(student).Send();

Anonim típussal (new { id = 11, name = "Bela" }) is dolgozhatunk adatküldéskor. A lényeg, hogy tartalmazza a szükséges tulajdonságokat (pl id, name): Backend.PUT(url).Body(new { id = 11, name = "Bela"}).Send();

URL Paraméteres Azonosítás

A body felhasználása opcionális: ha nincs szükséged adatok küldésére, a body-t kihagyhatod.

stringurl="http://localhost:3000/students/11";Studentstudent=newStudent{name="Bela"};Responseresponse=Backend.PUT(url).Body(student).Send();

DELETE Kérés Kiépítése

Body-val történő Azonosítás

A body felhasználása opcionális: ha nincs szükséged adatok küldésére, a body-t kihagyhatod.

stringurl="http://localhost:3000/students";Responseresponse=Backend.DELETE(url).Body(newStudent{id=11}).Send();

Anonim típussal (new { id = 11 }) is dolgozhatunk, azonosítás céljából. A lényeg, hogy tartalmazza a szükséges tulajdonságot (pl id): Backend.DELETE(url).Body(new { id = 11 }).Send();

URL Paraméteres Azonosítás

Az azonosítót az URL tartalmazza, nem szükséges a body láncolat.

stringurl="http://localhost:3000/students/11";Responseresponse=Backend.DELETE(url).Send();

Teljes adatkinyerés a Response-ból

Deszerializálja a kiválasztott JSON adatot a megadott típusra.

Server response:

[
{
"id": 1,
"nev": "Kiss Péter",
"osztaly": "9.A",
"szuletesi_datum": "2007-05-12"
},
{
"id": 2,
"nev": "Nagy Anna",
"osztaly": "10.B",
"szuletesi_datum": "2006-08-23"
}
]

As<T> Metódus:

List<Student>students=Backend.GET(url).Send().As<List<Student>>();

Részleges adatkinyerés a Response-ból

Ezen metódusok segítik a komplex responseból való részleges adatfeldolgozást.

Komplex server response:

{
"message": "Dolgozó sikeresen lekérve.",
"status": "success",
"data": {
"Az": 1,
"Nev": "Nagy József",
"Telepules": "Szolnok"
}
}

ValueAt + As<T> Metódus: A ValueAt kiválaszt egy JSON értéket az adott index alapján.

Responseresponse=Backend.GET(url).Send();stringuzenet=response.ValueAt(0).As<string>();stringstatus=response.ValueAt(1).As<string>();Dolgozodolgozo=response.ValueAt(2).As<Dolgozo>();

ValueOf + As<T> Metódus: A ValueOf kiválaszt egy JSON értéket a megadott név alapján.

Responseresponse=Backend.GET(url).Send();stringuzenet=response.ValueOf("message").As<string>();stringstatus=response.ValueOf("status").As<string>();Dolgozodolgozo=response.ValueOf("data").As<Dolgozo>();

ValueAt- és ValueOf-ok egymásba ágyazása

Ezen metódusok egymásba ágyazása segíti a komplex responseból a mélyebb szintű részleges adatfeldolgozást. Akár kombinálhatjuk is őket (ValueAt-ra ValueOf vagy fordítva). Ezáltal csökkenteni tudjuk a deszerializálandó adatmennyiséget, így erőforrást szabadíthatunk fel projektünkben.

Komplex server response:

{
"message": "Dolgozó sikeresen lekérve.",
"status": "success",
"data": {
"Az": 1,
"Nev": "Nagy József",
"Telepules": "Szolnok"
}
}

A Nev érték kinyerése a ValueAt-al

stringnev=Backend.GET(link).Send().ValueAt(2).ValueAt(1).As<string>();

A Nev érték kinyerése a ValueOf-al

stringnev=Backend.GET(link).Send().ValueOf("data").ValueOf("Nev").As<string>();

A Nev érték kinyerése a ValueAt és ValueOf-al

stringnev=Backend.GET(link).Send().ValueAt(2).ValueOf("Nev").As<string>();

Fájlfeltöltés

Backend.UPLOAD(url).File(filePath).Send();

Szerver válasz formátuma: sikeres feltöltéskor visszatér a fájl nevével, a data tulajdonságba helyezve.

{
"message": "Fájl sikeresen feltöltve.",
"status": "success",
"data": "3126503.png"
}

Fájl feltöltése, válasz megjelenítése

Fájl útvonálának kiválasztásához érdemes a OpenFileDialog-ot használni WPF esetében. A kódrészletben kiválasztom a képet, és útvonalát eltárolom a filePath változóban.

OpenFileDialogopenFileDialog=newOpenFileDialog{Filter="Image Files (*.png;*.jpg;*.jpeg)|*.png;*.jpg;*.jpeg|All Files (*.*)|*.*"};if(openFileDialog.ShowDialog()==true){stringfilePath=openFileDialog.FileName;stringurl="http://localhost:3000/upload";Responseresponse=Backend.UPLOAD(url).File(filePath).Send();// megjelenítem a válaszüzenetetMessageBox.Show(response.ValueOf("message").As<string>());}

Forráskód

A teljes forráskód elérhető itt: Backend.cs


Könyvtár szerkezete

ClassDiagram1

Ez a dokumentáció biztosítja, hogy a NetworkHelper könyvtár használata egyszerű és érthető legyen. Ha bármilyen kérdésed van, vagy további segítségre van szükséged, ne habozz kapcsolatba lépni velem a GitHub Issues oldalon.


About

A NetworkHelper egy könyvtár, amely megkönnyíti a backend kommunikációt .NET Framework, C# projeketben.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages