- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- GoodSpeed: Megint 3 hónap Disney+ akciósan :)
- sellerbuyer: Milyen laptopot vegyek? Segítek: semmilyet!
- skoda12: Webshopos átverések
- GoodSpeed: Aquaphor Modern víztisztító
- btz: Internet fejlesztés országosan!
- zebra_hun: Intel® Core™ i9 14900K Raptor Lake-S Refresh CPU/Processor UV/DC (Optimalizálás)
Ú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
SomeResponse
leszá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 aRequestID
sem 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!
- Airsoft
- Energiaital topic
- VR topik (Oculus Rift, stb.)
- Eredeti játékok OFF topik
- One otthoni szolgáltatások (TV, internet, telefon)
- ASUS routerek
- Merész dizájn és új teleobjektív az iPhone 17 Pro mobilokban
- Kínai és egyéb olcsó órák topikja
- sziku69: Fűzzük össze a szavakat :)
- Fujifilm X
- További aktív témák...
- HIBÁS! Canon i-SENSYS MF9280Cdn multifunkciós nyomtató
- Monitor audio Bronze 500 +Arcam AVR 390 + Klipsch R-112SW SUB
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Microsoft Xbox Series S 512GB Játékkonzol + kontroller+ gyári doboz+számla+ 2-ÉV EURONICS GARANCIA!!
- G.SKILL Trident Z5 Neo RGB 96GB (2x48GB) DDR5 6000MHz
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Apple iPhone 14 Pro 256 GB Space Black 1 év Garancia Beszámítás Házhozszállítás
- BESZÁMÍTÁS! MSI B450 R3 3100 16GB DDR4 512GB SSD 750GB HDD GTX 1050Ti 4GB ZALMAN ZM-T7 Chieftec 400W
- Bomba ár! Lenovo ThinkPad T470 - i5-G6 I 8GB I 256GB SSD I 14" FHD I HDMI I Cam I W10 I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest