diff --git a/.gitignore b/.gitignore
index c2065bc..ab8d764 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,7 +25,9 @@ bin/
out/
!**/src/main/**/out/
!**/src/test/**/out/
-
+*.yml
+/application.yml
+SwaggerConfig.java
### NetBeans ###
/nbproject/private/
/nbbuild/
diff --git a/README.md b/README.md
index 7d07413..f50846f 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,19 @@
# tf4-message
+
+# introduction
+
+- 외부 앱을 사용한 메세지 시스템
+ + Slack
+
+- Dependancies
+ + lombok
+ + web
+ + FeignClient
+ + RabbitMQ
+ + Mysql
+ + JPA
+
+- How to work
+
+
+-
diff --git a/build.gradle b/build.gradle
index 6db0d76..5e99af1 100644
--- a/build.gradle
+++ b/build.gradle
@@ -39,6 +39,9 @@ dependencies {
testImplementation 'org.springframework.amqp:spring-rabbit-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
implementation 'com.slack.api:slack-api-client:1.25.0'
+ implementation 'com.google.code.gson:gson:2.8.9'
+ implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0'
+ implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
}
dependencyManagement {
@@ -47,6 +50,10 @@ dependencyManagement {
}
}
+springBoot {
+ mainClass = 'com.tunaforce.message.MessageApplication'
+}
+
tasks.named('test') {
useJUnitPlatform()
}
diff --git a/src/main/java/com/tunaforce/message/MessageApplication.java b/src/main/java/com/tunaforce/message/MessageApplication.java
index 3183e04..d23ec06 100644
--- a/src/main/java/com/tunaforce/message/MessageApplication.java
+++ b/src/main/java/com/tunaforce/message/MessageApplication.java
@@ -2,8 +2,16 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
+import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
+@EnableFeignClients
+@EnableDiscoveryClient
+@EnableJpaAuditing
+@EnableScheduling
public class MessageApplication {
public static void main(String[] args) {
diff --git a/src/main/java/com/tunaforce/message/api/ApiExceptionAdvice.java b/src/main/java/com/tunaforce/message/api/ApiExceptionAdvice.java
index 8ad5f61..2d723f7 100644
--- a/src/main/java/com/tunaforce/message/api/ApiExceptionAdvice.java
+++ b/src/main/java/com/tunaforce/message/api/ApiExceptionAdvice.java
@@ -1,12 +1,15 @@
package com.tunaforce.message.api;
+import com.slack.api.methods.SlackApiException;
+import jakarta.servlet.http.HttpServletRequest;
import org.springframework.dao.DataIntegrityViolationException;
+import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.resource.NoResourceFoundException;
-import jakarta.servlet.http.HttpServletRequest;
+import java.util.NoSuchElementException;
@RestControllerAdvice
public class ApiExceptionAdvice {
@@ -45,6 +48,38 @@ public ResponseEntity> notFoundExceptionHandler(HttpServletR
return ResponseEntity
.ok(apiResponse);
}
+ @ExceptionHandler(NoSuchElementException.class)
+ public ResponseEntity> noSuchElementExceptionHandler(HttpServletRequest request, final NoSuchElementException NoSuchElementException) {
+ ApiResponse