No description
- C# 100%
| Properties | ||
| .gitattributes | ||
| .gitignore | ||
| App.config | ||
| CmdApiReq.csproj | ||
| CmdApiReq.sln | ||
| packages.config | ||
| Program.cs | ||
| README.md | ||
CmdApiReq
Alat za naredbeni redak koji šalje HTTP POST zahtjeve na API endpoint i sprema JSON odgovor kao ravne parove ključ-vrijednost u tekstualnu datoteku.
Preduvjeti
- .NET Framework 4.7.2
- NuGet paket Newtonsoft.Json
Korištenje
CmdApiReq.exe api=<URL> json=<JSON>
Parametri
| Parametar | Obavezan | Opis |
|---|---|---|
api |
Da | URL API endpointa na koji se šalje POST zahtjev |
json |
Da | JSON tijelo koje se šalje u zahtjevu |
Primjer
CmdApiReq.exe api=https://primjer.com/api/endpoint json="{\"kljuc\":\"vrijednost\"}"
Izlaz
carresp.txt
API odgovor (očekuje se JSON objekt) parsira se i zapisuje u datoteku carresp.txt u radnom direktoriju, kodiran kao Windows-1250.
Svaki JSON par ključ-vrijednost zapisuje se u zasebnom retku u obliku:
kljuc=vrijednost
ugnjezdeni.kljuc=vrijednost
Ugniježđeni JSON objekti se spljoštuju korištenjem točkaste notacije (npr. roditelj.dijete=vrijednost).
CmdApiReq.log
Sve aktivnosti bilježe se u datoteku CmdApiReq.log u radnom direktoriju (način dodavanja). Unosi u log uključuju:
- Pokretanje i završetak programa
- Parsirane argumente
- Detalje HTTP zahtjeva i odgovora
- Sve greške i iznimke
Format zapisa:
YYYY-MM-DD HH:mm:ss.fff [ThreadId] RAZINA: poruka
Upravljanje greškama
- Ako parametar
apiilijsonnedostaje, program bacaArgumentExceptioni bilježi grešku. - Ako API odgovor nije valjani JSON, poruka se ispisuje u konzolu i greška se bilježi u log.
- Sve ostale neočekivane iznimke se hvataju, bilježe i ispisuju u konzolu.
Izgradnja
Otvorite CmdApiReq.sln u Visual Studiju i izgradite rješenje, ili koristite MSBuild CLI:
msbuild CmdApiReq.sln /p:Configuration=Release