Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

I exemplet ovan knyts även en generisk ErrorDecoder in i Feign-klienten [3]. Detta är allt som krävs för att klienten skall kunna hantera error-response av Problem-typ (läs mer i befintlig RFC).

Utifrån ovan kan sedan klienten autowire @Autowire:as in som en vanlig Spring-komponent där den behövs:

...

Konfiguration som krävs när back-end anropad tjänst implementerat RFC-7807:

Code Block
languagejava
@Import(FeignConfiguration.class)
class GithubClientConfiguration {

    @Bean
	ErrorDecoder errorDecoder() {                                               
		return new GenericJsonErrorDecoder("GithubClient");
	}
}


Konfiguration för fel som avviker från standard. Genom att ange sökvägen via JSON-path till den data vi vill mappa kan vi hantera vilka strukturer på felmeddelandet som helst. Se exempel nedan:

Error-response:

Code Block
languagejson
{
	"errorMessage": "This is aan customexample error",
	"extraInfo": {
		"details": "This is example details",
		"status": "500"
	}
}

...