Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Menekülés a Halálcsillagról

Luke Skywalker és csapata és az Ezeréves Sólyom legénysége, kiszeretné szabadítani Leila hercegnőt a Halálcsillagról. Droidjai, R2-D2 és C3-PO sikeresen bejutott a vezérlőközpontba, ahol navigálni tudják a csapat többi tagját. A mellékelt segédeszközökkel segítsen meghatározni a csapattagok pontos helyét, és kijutni a Halálcsillagról.

Halálcsillag

  1. Töltse fel a MySQL adatbázist az Forrás mappába mellékelt halalcsillag_export.sql fájl alapján.

  2. A kiinduló Web API projektbe telepítse fel a szükséges NuGet csomagokat az Entity Framework használatához!

  3. A pm_command.txt fájlban lévő utasítás még nem teljes. Az idézőjeles részbe be kell illeszteni egy connectionStringet. Az alábbi adatokat pontosvesszővel kell elválasztani és beilleszteni:

    • server = localhost
    • user id = root
    • database = A feltöltött adatbázis neve

A Package Manager Console felületén adja ki a kiegészített parancsot. Ezzel a paranccsal sikerül lemodellezni az adatbázis táblákat és elkészíti a context osztályt is.

  1. A Program.cs fájlban adja hozzá az AddDbContext függőséget.

  2. Hozzon létre a Models mappában egy Koordinata osztályt. Az osztálynak az alábbi értékei legyenek:

    • Publikus egész szám változók: X és Y
    • Mindkét változó felett legyen egy szabály attribútum, X-nél: [Range(0,2601)], Y-nál: 0 és 2172 a szélső érték. A Range attribútumhoz szükség lesz a System.ComponentModel.DataAnnotations könyvtárra.
    • Az osztálynak legyen egy konstruktora, amely beállítja az értékeket a paraméterek alapján.
  3. A Controllers mappában hozzon létre egy üres API Controller osztályt HelyszinController néven!

    • Az osztálynak legyen egy privát változója a context osztályról.
    • Legyen egy paraméteres konstruktora, ami értéket ad a context változónak.
  4. Hozzon létre egy string típusú (publikus) végpontot Helyszin néven, ami paraméterként egy Koordinata típusú változót vár. A végpontot csak HTTP POST metódussal lehessen elérni. Alapértelmezetten üzenetként adja vissza, hogy „A térképen nem szerepel ez a helység.".

  5. Készítsen egy másik string típusú végpontot szintén Helyszin néven, ami paraméterként egy karakterNev (string) változót vár. A végpontot HTTP GET metódussal lehessen elérni. Alapértelmezetten üzenetként adja vissza, hogy „A karakter nincs a Halálcsillagon.".

  6. Készítsen egy kereső metódust Kereses néven. A helyszíneknek vannak kezdő és egy vég koordinátái. A kezdőpont a bal felső sarkot, a vég a jobb alsó sarkot jelöli a térképen. A paraméterként kapott koordináta alapján és az adatbázisban tárolt helyiségek kezdő és végkoordinátái segítségével, határozza meg, hogy melyik helyiségben van az adott pont vagy karakter.

  7. A web API végpontjait tesztelje StarWars.API.http fájl segítéségével.

Bónusz feladat:

R2-D2-nak le kell kérdeznie az ajtókhoz tartozó kódot, amivel fel tudja törni a helyszínekhez tartozó zárakat. A hozzá tartozó kulcsok BCrypt titkosításban vannak, a helyszín kezdő koordinátáit tartalmazzák összefűzve.

  1. Telepítse fel a BCrypt.Net-Next NuGet csomagot a projekthez.

  2. Készítsen egy másik Controller osztályt KulcsController néven, hasonlóan a HelyszinController alapján.

  3. Hozzon létre egy string típusú végpontot KapuKod néven, ami paraméterként egy helyszinNev változót vár. A végpontot csak HTTP GET metódussal lehessen elérni. Alapértelmezett üzenetként adja vissza, hogy „A helyiség nincs a Halálcsillagon.".

Fejezze be a végpontot úgy, hogy a kapott helységnév alapján adja vissza a helyszín X és Y kezdőkoordinátáit összefűzve, BCrpyt titkosításban.

About

Menekülés a Halálcsillagról Web API feladat.

Topics

Resources

Stars

Watchers

Forks

Used by

Contributors

Languages