diff --git a/README.md b/README.md index 7628452..d9f4b78 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ LTS releases: 17 and 21. cl.bennu spring-boot-commons - 0.0.1 + 0.1.0 ``` diff --git a/pom.xml b/pom.xml index 542c34a..25b6589 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ cl.bennu spring-boot-commons - 0.0.1 + 0.1.0 bennu-spring-boot-commons Utilitarios bennu para SpringBoot https://github.com/bennu/spring-boot-commons @@ -67,7 +67,7 @@ org.sonatype.central central-publishing-maven-plugin - 0.3.0 + 0.7.0 true central @@ -79,7 +79,7 @@ org.apache.maven.plugins maven-source-plugin - 3.3.0 + 3.3.1 attach-sources @@ -92,7 +92,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.6.3 + 3.11.2 attach-javadocs @@ -105,7 +105,7 @@ org.apache.maven.plugins maven-gpg-plugin - 3.1.0 + 3.2.7 sign-artifacts @@ -132,12 +132,12 @@ maven-surefire-plugin - 3.2.5 + 3.5.3 org.jacoco jacoco-maven-plugin - 0.8.7 + 0.8.13 prepare-agent @@ -168,7 +168,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.10.1 + 3.11.2 attach-javadocs diff --git a/src/main/java/cl/bennu/commons/controller/base/BaseController.java b/src/main/java/cl/bennu/commons/controller/base/BaseController.java index 3902ea0..c046362 100644 --- a/src/main/java/cl/bennu/commons/controller/base/BaseController.java +++ b/src/main/java/cl/bennu/commons/controller/base/BaseController.java @@ -1,9 +1,12 @@ package cl.bennu.commons.controller.base; +import cl.bennu.commons.controller.model.common.Value; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CrossOrigin; +import java.util.Date; + @CrossOrigin public abstract class BaseController { @@ -12,7 +15,29 @@ protected static ResponseEntity ok() { } protected static ResponseEntity ok(Object o) { - return ResponseEntity.ok().body(o); + if (o instanceof String + || o instanceof Date + || o instanceof Number + || o instanceof Character + || o instanceof Boolean) { + Value value = new Value(); + value.setValue(o); + + return new ResponseEntity<>(value, HttpStatus.OK); + } + return new ResponseEntity<>(o, HttpStatus.OK); + } + + public ResponseEntity unauthorized(Exception e) { + return new ResponseEntity<>(e, HttpStatus.UNAUTHORIZED); + } + + public ResponseEntity conflict(Exception e) { + return new ResponseEntity<>(e, HttpStatus.CONFLICT); + } + + public ResponseEntity serverError(Exception e) { + return new ResponseEntity<>(e, HttpStatus.INTERNAL_SERVER_ERROR); } } diff --git a/src/main/java/cl/bennu/commons/controller/config/RestConfig.java b/src/main/java/cl/bennu/commons/controller/config/RestConfig.java new file mode 100644 index 0000000..ecaf534 --- /dev/null +++ b/src/main/java/cl/bennu/commons/controller/config/RestConfig.java @@ -0,0 +1,28 @@ +package cl.bennu.commons.controller.config; + + +import org.springframework.http.HttpMethod; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; + +public abstract class RestConfig { + + public static UrlBasedCorsConfigurationSource basic() { + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + CorsConfiguration config = new CorsConfiguration(); + config.addAllowedMethod(HttpMethod.GET); + config.addAllowedMethod(HttpMethod.POST); + config.addAllowedMethod(HttpMethod.PUT); + config.addAllowedMethod(HttpMethod.DELETE); + config.addAllowedMethod(HttpMethod.PATCH); + + config.addAllowedHeader("*"); + config.addAllowedOrigin("*"); + + source.registerCorsConfiguration("/**", config); + + return source; + } + +} + diff --git a/src/main/java/cl/bennu/commons/controller/model/common/Value.java b/src/main/java/cl/bennu/commons/controller/model/common/Value.java index 1e6587f..05b4990 100644 --- a/src/main/java/cl/bennu/commons/controller/model/common/Value.java +++ b/src/main/java/cl/bennu/commons/controller/model/common/Value.java @@ -10,6 +10,6 @@ public class Value implements Serializable { private Long id; - private String value; + private Object value; }