It is currently 9 June 2025, 6:04 Advanced search

Metodo WebAPI DO e status code in presenza di errore

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Metodo WebAPI DO e status code in presenza di errore

Postby d.termini » 1 June 2023, 7:16

Sto richiamando un metodo personalizzato di una classe DO tramite WebAPI, la procedura eseguita al suo interno potrebbe fallire, quindi vorrei restituire un errore.
Ho provato a fare WebApiService.setResponse("errore", 500, "text/html") ma subito dopo viene reimpostato a 200
Al momento l'unica soluzione che ho trovato è stata di rilanciare l'eccezione lasciandola passare dalla funzione (throws exception) ma è una soluzione che mi fa un po' schifo in quanto il messaggio di errore si perde nel testo dell'eccezione, oltre ad avere tutto lo stack.

Come si può fare?

(so che potrei restituire comunque un contenuto dove indico che c'è stato un errore, ma la procedura chiamante di terzi verifica lo status code <> 200 e non il contenuto, perché c'era già e gestisce un altro endpoint che restituisce correttamente lo status code 500)
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Metodo WebAPI DO e status code in presenza di errore

Postby t.simoncini » 1 June 2023, 11:58

d.termini wrote:Ho provato a fare WebApiService.setResponse("errore", 500, "text/html")

Credo che questo sia già il modo giusto di farlo.

d.termini wrote:ma subito dopo viene reimpostato a 200

Hai impostato Cancel a True nell'evento OnWebApi? Se non ricordo male va fatto, altrimenti la risposta la da direttamente il framework delle WebApi, e non ciò che scrivi tu.
t.simoncini
 
Posts: 1585
Joined: 5 March 2012, 14:00

Re: Metodo WebAPI DO e status code in presenza di errore

Postby d.termini » 1 June 2023, 12:03

t.simoncini wrote:
d.termini wrote:Ho provato a fare WebApiService.setResponse("errore", 500, "text/html")

Credo che questo sia già il modo giusto di farlo.

d.termini wrote:ma subito dopo viene reimpostato a 200

Hai impostato Cancel a True nell'evento OnWebApi? Se non ricordo male va fatto, altrimenti la risposta la da direttamente il framework delle WebApi, e non ciò che scrivi tu.


Eh sì, nell'evento si fa come dici tu, ma sono in un metodo statico e non ho il parametro cancel
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Metodo WebAPI DO e status code in presenza di errore

Postby d.termini » 19 January 2024, 9:10

Qualche altra idea?

Ho la necessità di restituire un 401 se su certi metodi è richiesta l'autenticazione utente (non posso chiederla sempre, quindi devo per forza farlo all'interno del metodo statico), e ovviamente mi viene sempre sovrascritta a 200-OK
E lanciando eccezione, per provare, si rompe e restituisce un bel 500-Unknown error
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Metodo WebAPI DO e status code in presenza di errore

Postby carlop » 19 June 2024, 11:32

Buongiorno,
anche io ho lo stesso problema voglio restituire 401 ma in realtà anche se utilizzo la il metodo WebApi.SetResponse("Error",401,...) il sistema mi risponde sempre 200,
c'è qualche soluzione ?
User avatar
carlop
 
Posts: 34
Joined: 2 May 2011, 8:12
Location: Genova

Re: Metodo WebAPI DO e status code in presenza di errore

Postby t.simoncini » 19 June 2024, 12:23

Dovete impostare "cancel := true" nel metodo OnWebApi.
t.simoncini
 
Posts: 1585
Joined: 5 March 2012, 14:00

Re: Metodo WebAPI DO e status code in presenza di errore

Postby d.termini » 19 June 2024, 13:22

È un metodo statico, non passa per onWebApi
d.termini
 
Posts: 1656
Joined: 13 November 2017, 8:41

Re: Metodo WebAPI DO e status code in presenza di errore

Postby t.simoncini » 19 June 2024, 14:28

Puoi postare un progetto di esempio con il problema?
t.simoncini
 
Posts: 1585
Joined: 5 March 2012, 14:00

Re: Metodo WebAPI DO e status code in presenza di errore

Postby vratarneli7 » 23 June 2024, 6:32

d.termini wrote:Qualche altra idea?

Ho la necessità di restituire un 401 se su certi metodi è richiesta l'autenticazione utente (non posso chiederla sempre, quindi devo per forza farlo all'interno del metodo statico), e ovviamente mi viene sempre sovrascritta a 200-OK
E lanciando eccezione, per provare, si rompe e restituisce un bel 500-Unknown error
Capisco la situazione.
vratarneli7
 
Posts: 1
Joined: 20 June 2024, 4:50


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Felix263, Majestic-12 [Bot] and 45 guests