Heim >Java >javaLernprogramm >So verwenden Sie den SpringBoot HttpMessageConverter-Nachrichtenkonverter
Konvertieren Sie die Anforderungsnachricht in ein Java-Objekt
Konvertieren Sie das Java-Objekt in eine Antwortnachricht
getSupportedMediaTypes: Holen Sie sich die Unterstützte MediaType-Sammlung (z. B. Text/HTML, Text/Plain, Anwendung/JSON) Der Rückgabewert der Methode canRead ist wahr )
Der standardmäßig konfigurierte Nachrichtenkonverter
protected final void addDefaultHttpMessageConverters(List<HttpMessageConverter<?>> messageConverters) { messageConverters.add(new ByteArrayHttpMessageConverter()); messageConverters.add(new StringHttpMessageConverter()); messageConverters.add(new ResourceHttpMessageConverter()); messageConverters.add(new ResourceRegionHttpMessageConverter()); try { messageConverters.add(new SourceHttpMessageConverter<>()); } catch (Throwable ex) { // Ignore when no TransformerFactory implementation is available... } messageConverters.add(new AllEncompassingFormHttpMessageConverter()); if (romePresent) { messageConverters.add(new AtomFeedHttpMessageConverter()); messageConverters.add(new RssChannelHttpMessageConverter()); } if (jackson2XmlPresent) { Jackson2ObjectMapperBuilder builder = Jackson2ObjectMapperBuilder.xml(); if (this.applicationContext != null) { builder.applicationContext(this.applicationContext); } messageConverters.add(new MappingJackson2XmlHttpMessageConverter(builder.build())); } else if (jaxb2Present) { messageConverters.add(new Jaxb2RootElementHttpMessageConverter()); } if (jackson2Present) { Jackson2ObjectMapperBuilder builder = Jackson2ObjectMapperBuilder.json(); if (this.applicationContext != null) { builder.applicationContext(this.applicationContext); } messageConverters.add(new MappingJackson2HttpMessageConverter(builder.build())); } else if (gsonPresent) { messageConverters.add(new GsonHttpMessageConverter()); } else if (jsonbPresent) { messageConverters.add(new JsonbHttpMessageConverter()); } if (jackson2SmilePresent) { Jackson2ObjectMapperBuilder builder = Jackson2ObjectMapperBuilder.smile(); if (this.applicationContext != null) { builder.applicationContext(this.applicationContext); } messageConverters.add(new MappingJackson2SmileHttpMessageConverter(builder.build())); } if (jackson2CborPresent) { Jackson2ObjectMapperBuilder builder = Jackson2ObjectMapperBuilder.cbor(); if (this.applicationContext != null) { builder.applicationContext(this.applicationContext); } messageConverters.add(new MappingJackson2CborHttpMessageConverter(builder.build())); } }
Teil der Nachrichtenkonverteranalyse
Name: Beschreibung data
SourceHttpMessageConverter. | Der Verarbeitungsprozess stimmt mit dem entsprechenden Nachrichtenkonverter in der Reihenfolge des Satzes überein. Wenn ein geeigneter Nachrichtenkonverter vorhanden ist, wird der Nachrichtenkonverter für die Verarbeitung (Lesen, Schreiben) verwendet und nachfolgende Nachrichtenkonverter werden nicht ausgeführt. |
---|---|
Achten Sie beim Hinzufügen eines benutzerdefinierten Nachrichtenkonverters darauf, ob der Standard-Nachrichtenkonverter aktiv ist. | |
Die Methode WebMvcConfigurer.extendMessageConverters überschreibt den Standard-Nachrichtenkonverter nicht Sammlung | |
Das obige ist der detaillierte Inhalt vonSo verwenden Sie den SpringBoot HttpMessageConverter-Nachrichtenkonverter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!