diff --git a/api-payload/src/main/java/org/namul/api/payload/code/supports/DefaultBaseSuccessCode.java b/api-payload/src/main/java/org/namul/api/payload/code/supports/DefaultBaseSuccessCode.java index ff5e3e4..2419141 100644 --- a/api-payload/src/main/java/org/namul/api/payload/code/supports/DefaultBaseSuccessCode.java +++ b/api-payload/src/main/java/org/namul/api/payload/code/supports/DefaultBaseSuccessCode.java @@ -1,6 +1,8 @@ package org.namul.api.payload.code.supports; -public interface DefaultBaseSuccessCode { +import org.namul.api.payload.code.BaseSuccessCode; + +public interface DefaultBaseSuccessCode extends BaseSuccessCode { String getCode(); String getMessage(); diff --git a/api-payload/src/main/java/org/namul/api/payload/config/DefaultFailureResponseWriterAutoConfiguration.java b/api-payload/src/main/java/org/namul/api/payload/config/DefaultResponseWriterAutoConfiguration.java similarity index 59% rename from api-payload/src/main/java/org/namul/api/payload/config/DefaultFailureResponseWriterAutoConfiguration.java rename to api-payload/src/main/java/org/namul/api/payload/config/DefaultResponseWriterAutoConfiguration.java index 52196e0..b044a14 100644 --- a/api-payload/src/main/java/org/namul/api/payload/config/DefaultFailureResponseWriterAutoConfiguration.java +++ b/api-payload/src/main/java/org/namul/api/payload/config/DefaultResponseWriterAutoConfiguration.java @@ -1,14 +1,17 @@ package org.namul.api.payload.config; import org.namul.api.payload.code.supports.DefaultBaseErrorCode; +import org.namul.api.payload.code.supports.DefaultBaseSuccessCode; import org.namul.api.payload.writer.FailureResponseWriter; +import org.namul.api.payload.writer.SuccessResponseWriter; import org.namul.api.payload.writer.supports.DefaultFailureResponseWriter; +import org.namul.api.payload.writer.supports.DefaultSuccessResponseWriter; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; @AutoConfiguration -public class DefaultFailureResponseWriterAutoConfiguration { +public class DefaultResponseWriterAutoConfiguration { @Bean @ConditionalOnMissingBean(FailureResponseWriter.class) @@ -16,4 +19,9 @@ FailureResponseWriter defaultFailureResponseWriter() { return new DefaultFailureResponseWriter(); } + @Bean + @ConditionalOnMissingBean(SuccessResponseWriter.class) + SuccessResponseWriter defaultSuccessResponseWriter() { + return new DefaultSuccessResponseWriter(); + } } diff --git a/api-payload/src/main/java/org/namul/api/payload/writer/SuccessResponseWriter.java b/api-payload/src/main/java/org/namul/api/payload/writer/SuccessResponseWriter.java new file mode 100644 index 0000000..20c5bac --- /dev/null +++ b/api-payload/src/main/java/org/namul/api/payload/writer/SuccessResponseWriter.java @@ -0,0 +1,10 @@ +package org.namul.api.payload.writer; + + +import org.namul.api.payload.code.BaseSuccessCode; +import org.namul.api.payload.response.BaseResponse; + +public interface SuccessResponseWriter { + + BaseResponse onSuccess(T code, R result); +} diff --git a/api-payload/src/main/java/org/namul/api/payload/writer/supports/DefaultSuccessResponseWriter.java b/api-payload/src/main/java/org/namul/api/payload/writer/supports/DefaultSuccessResponseWriter.java new file mode 100644 index 0000000..62afd32 --- /dev/null +++ b/api-payload/src/main/java/org/namul/api/payload/writer/supports/DefaultSuccessResponseWriter.java @@ -0,0 +1,14 @@ +package org.namul.api.payload.writer.supports; + +import org.namul.api.payload.code.supports.DefaultBaseSuccessCode; +import org.namul.api.payload.response.BaseResponse; +import org.namul.api.payload.response.supports.DefaultResponse; +import org.namul.api.payload.writer.SuccessResponseWriter; + +public class DefaultSuccessResponseWriter implements SuccessResponseWriter { + + @Override + public BaseResponse onSuccess(DefaultBaseSuccessCode code, R result) { + return DefaultResponse.onSuccess(code, result); + } +} diff --git a/api-payload/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/api-payload/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index e21c797..b1a20b0 100644 --- a/api-payload/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/api-payload/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1 +1 @@ -org.namul.api.payload.config.DefaultFailureResponseWriterAutoConfiguration \ No newline at end of file +org.namul.api.payload.config.DefaultResponseWriterAutoConfiguration \ No newline at end of file