Vra

Wanneer kodering web dienste, hoe kan jy jou terugkeer waardes struktureer? Hoe hanteer jy fout voorwaardes (verwag kinders en onverwagte kinders)? As jy terugkeer iets eenvoudig soos 'n int, hoef jy net terug te keer nie, of embed dit in 'n meer komplekse voorwerp? Doen al die web metodes binne een diens terugkeer 'n geval van 'n enkele klas, of jy skep 'n persoonlike terugkeer waarde klas vir elke metode?

Was dit nuttig?

Oplossing

Ek hou van die Versoek / Response voorwerp patroon, waar jy jou argumente omsluit in 'n enkele [Operasie] Versoek klas, wat eenvoudige openbare eiendom het op dit.

Iets soos AddCustomerRequest, wat AddCustomerResponse sou terugkeer.

Die reaksie kan insluit inligting oor die sukses / mislukking van die operasie, enige boodskappe wat gebruik kan word deur die UI, moontlik die ID van die kliënt wat is bygevoeg, byvoorbeeld.

Nog 'n goeie patroon is om te maak hulle almal trek uit 'n eenvoudige iMessage koppelvlak, waar jou algemene eindpunt is iets soos Proses (params iMessage [] boodskappe) ... so jy kan slaag in verskeie operasies in dieselfde web versoek.

Ander wenke

1 vir antwoord Ben se.

Verder, ek stel voor ag geneem word dat die generiese reaksie voorsiening te maak vir verskeie fout / waarskuwing items, toe te laat om die antwoord op so omvattend en aksie as moontlik wees. (Sal jy 'n samesteller wat gestop nadat die eerste fout boodskap, of een wat jy so veel as moontlik vertel gebruik?)

As jy 'SOAP web dienste dan SOAP foute is die standaard manier om fout besonderhede terugkeer, waar die fout boodskappe kan terugkeer watter bykomende detail wat jy wil.

Seep foute is 'n standaard praktyk waar die roeping aansoek is 'n Seep kliënt. Daar is gevalle, soos 'n COM kliënt met behulp van element XMLHTTP, waar die seep is ontleed as XML en seep foute nie maklik hanteer kan word. Kan nog nie stem nie, maar 'n ander 1 vir @Ben Scheirman.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top