Hirdetés
- Fejhallgató erősítő és DAC topik
- TCL LCD és LED TV-k
- Az AI-piac kivégezte a Micronhoz tartozó Crucialt
- Azonnali fotós kérdések órája
- Ha a koreaiakon múlik, még évekig ingünk-gatyánk rámehet a memóriákra
- Sony MILC fényképezőgépcsalád
- Projektor topic
- Videós, mozgóképes topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen széket vegyek?
Új hozzászólás Aktív témák
-
dqdb
nagyúr
válasz
bandi0000
#9130
üzenetére
De most ez a megoldás nem rosszabb, mintha csak csinálnék pl egy osztályt, amibe van egy error és esetleg egy status code tulajdonság amit mindig visszaadok?
Ha kizárólag webes felületet nyújtasz, akkor szerintem ez az exception + middleware páros a legjobb.Ha vegyes felvágott a helyzet, mint nálunk, ahol webes és MQ felület is előfordul, akkor más a helyzet. Ezeknél az adott API implementációból az általad kérdezetthez hasonló üzenet jön ki, az API által dobható exceptionök kezelése belül megtörténik:
public class SomeResponse : IResponse
{
public string RequestID { get; set; }
public class OK : SomeResponse
{
public string SomeData { get; set; }
}
public class FailedBecauseOfThis : SomeResponse, IFault
{
public int Code { get; set; }
public string Message { get; set; }
}
public class FailedBecauseOfThat : SomeResponse, IFault
{
public int Code { get; set; }
public string Message { get; set; }
}
}Proto:
message SomeResponse {
string RequestID = 127;
oneof subtype {
SomeResponseOK OK = 1;
SomeResponseFailedBecauseOfThis FailedBecauseOfThis = 2;
SomeResponseFailedBecauseOfThat FailedBecauseOfThat = 3;
}
}
message SomeResponseOK {
string SomeData = 1;
}
message SomeResponseFailedBecauseOfThis {
int Code = 1;
string Message = 2;
}
message SomeResponseFailedBecauseOfThat {
int Code = 1;
string Message = 2;
}Sikeres válasz:
{
"some_data" : "data"
}Hibás válasz:
{
"code": 123,
"message": "blabla"
}Aztán ha MQ-n keresztül érkező kérésről van szó, akkor a teljes
SomeResponseleszármazott megy vissza protobuf kódolással, ha webes kérésről van szó, akkor általában* egy réteg a hibákat a példány típusa és/vagy kód alapján megfelelő 4xx/5xx státuszkódokra mappeli és a hibaüzenetet tartalmazó JSON-t ad vissza, ha sikeres volt, akkor simán JSON megy vissza (webes kéréseknél aRequestIDsem kerül bele a válaszba, csak a konvertálást, szerializálást, naplózást befolyásoló attribútumokat az egyszerűség kedvéért lehagytam).* általában, mert volt, hogy a 200 azt jelentette csak, hogy a szerver válaszolt, és ugyanúgy protobuf ment vissza a kliens felé
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Fejhallgató erősítő és DAC topik
- One mobilszolgáltatások
- TCL LCD és LED TV-k
- Az AI-piac kivégezte a Micronhoz tartozó Crucialt
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Azonnali fotós kérdések órája
- World of Tanks - MMO
- ASUS routerek
- Ha a koreaiakon múlik, még évekig ingünk-gatyánk rámehet a memóriákra
- Sony MILC fényképezőgépcsalád
- További aktív témák...
- Vízhűtéses egyég adatközpontokhoz - Schneider Electric RC ACRC301H - új ára 4,5 Milió Ft
- KFA2 RTX 2060 Super 8GB
- Ryzen5 5600X/ RTX 3060Ti/ 32GB DDR4 alapú konfig/ garancia/ ingyen foxpost
- Apple MacBook Air 13 M1 8GB RAM/256 SSD Asztroszürke
- 4ÉV GAR!! Lenovo X1 Carbon 11th Gen OLED KIJ. i7-1365U 16GB/512GB Intel Iris Xe Graph Magyar v.bill
- Új és újszerű 13-14 Gamer, ultrabook, üzleti, 2in1, X360, Touch készülékek kedvező áron Garanciával
- iking - Apple iPhone 14 Pro Graphite ProMotion 120 Hz, 48 MP kamera, Dynamic Island 128 GB
- ÚJ Lenovo ThinkPad X13 Gen 5 - 13.3" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
- BESZÁMÍTÁS! ASUS H510M i5 10400F 16GB DDR4 512GB SSD RTX 2080 Super 8GB Zalman T4 PLUS FSP 700W
- Apple iPhone 13 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


