wip: Generate and configure OpenAPI spec
- Create two (non-functioning) demo endpoints to check the swagger UI with - Configure Jackson to only serialize specific attributes - Configure SpringDoc so that only attributes known to Jackson are shown - Add some shortcut annotations for Json formatting
This commit is contained in:
parent
5dde208e72
commit
8a843dc300
7 changed files with 190 additions and 11 deletions
|
@ -0,0 +1,35 @@
|
|||
package de.mlessmann.certassist.config;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||
import com.fasterxml.jackson.databind.MapperFeature;
|
||||
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class JacksonConfiguration {
|
||||
|
||||
/**
|
||||
* Customizes the objectMapper so that ONLY specifically annotated fields are serialized.
|
||||
* Other fields MUST NOT be serialized since they may contain sensitive information!
|
||||
*/
|
||||
@Bean
|
||||
public Jackson2ObjectMapperBuilderCustomizer customizeObjectMapper() {
|
||||
return builder -> builder
|
||||
.featuresToDisable(
|
||||
MapperFeature.AUTO_DETECT_FIELDS,
|
||||
MapperFeature.AUTO_DETECT_GETTERS,
|
||||
MapperFeature.AUTO_DETECT_IS_GETTERS
|
||||
)
|
||||
.serializationInclusion(JsonInclude.Include.NON_EMPTY)
|
||||
.visibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE)
|
||||
.visibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.NONE)
|
||||
.visibility(PropertyAccessor.GETTER, JsonAutoDetect.Visibility.NONE)
|
||||
.visibility(PropertyAccessor.IS_GETTER, JsonAutoDetect.Visibility.NONE)
|
||||
.visibility(PropertyAccessor.SETTER, JsonAutoDetect.Visibility.PUBLIC_ONLY)
|
||||
.visibility(PropertyAccessor.CREATOR, JsonAutoDetect.Visibility.PUBLIC_ONLY)
|
||||
.build();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue