Skip to content

Commit ca87c81

Browse files
authored
Merge pull request #6 from javatodev/pre-development
exceptions done
2 parents 25148e6 + aafe350 commit ca87c81

File tree

7 files changed

+123
-0
lines changed

7 files changed

+123
-0
lines changed

internet-banking-api-gateway/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
.jpb
12
HELP.md
23
.gradle
34
build/
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.javatodev.finance.exception;
2+
3+
import lombok.Builder;
4+
import lombok.Getter;
5+
import lombok.Setter;
6+
7+
@Getter
8+
@Setter
9+
@Builder
10+
public class ErrorResponse {
11+
private String code;
12+
private String message;
13+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.javatodev.finance.exception;
2+
3+
import org.springframework.http.ResponseEntity;
4+
import org.springframework.web.bind.annotation.ControllerAdvice;
5+
import org.springframework.web.bind.annotation.ExceptionHandler;
6+
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
7+
8+
import java.util.Locale;
9+
10+
@ControllerAdvice
11+
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
12+
13+
@ExceptionHandler(SimpleBankingGlobalException.class)
14+
protected ResponseEntity handleGlobalException(SimpleBankingGlobalException e, Locale locale) {
15+
return ResponseEntity
16+
.badRequest()
17+
.body(new ErrorResponse(e.getCode(), e.getMessage()));
18+
}
19+
20+
@ExceptionHandler({Exception.class})
21+
protected ResponseEntity handleException(Exception e, Locale locale) {
22+
return ResponseEntity
23+
.badRequest()
24+
.body("Exception occur inside API " + e);
25+
}
26+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.javatodev.finance.exception;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Getter;
5+
import lombok.NoArgsConstructor;
6+
import lombok.Setter;
7+
8+
@Getter
9+
@Setter
10+
@AllArgsConstructor
11+
@NoArgsConstructor
12+
public class SimpleBankingGlobalException extends RuntimeException {
13+
14+
private String code;
15+
private String message;
16+
17+
public SimpleBankingGlobalException(String message) {
18+
super(message);
19+
}
20+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.javatodev.finance.exception;
2+
3+
import lombok.Builder;
4+
import lombok.Getter;
5+
import lombok.Setter;
6+
7+
@Getter
8+
@Setter
9+
@Builder
10+
public class ErrorResponse {
11+
private String code;
12+
private String message;
13+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.javatodev.finance.exception;
2+
3+
import org.springframework.http.ResponseEntity;
4+
import org.springframework.web.bind.annotation.ControllerAdvice;
5+
import org.springframework.web.bind.annotation.ExceptionHandler;
6+
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
7+
8+
import java.util.Locale;
9+
10+
@ControllerAdvice
11+
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
12+
13+
@ExceptionHandler(SimpleBankingGlobalException.class)
14+
protected ResponseEntity handleGlobalException (SimpleBankingGlobalException simpleBankingGlobalException, Locale locale) {
15+
return ResponseEntity
16+
.badRequest()
17+
.body(ErrorResponse.builder()
18+
.code(simpleBankingGlobalException.getCode())
19+
.message(simpleBankingGlobalException.getMessage())
20+
.build());
21+
}
22+
23+
@ExceptionHandler({Exception.class})
24+
protected ResponseEntity handleException(Exception e, Locale locale) {
25+
return ResponseEntity
26+
.badRequest()
27+
.body("Exception occur inside API " + e);
28+
}
29+
30+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.javatodev.finance.exception;
2+
3+
import lombok.AllArgsConstructor;
4+
import lombok.Getter;
5+
import lombok.NoArgsConstructor;
6+
import lombok.Setter;
7+
8+
@Getter
9+
@Setter
10+
@AllArgsConstructor
11+
@NoArgsConstructor
12+
public class SimpleBankingGlobalException extends RuntimeException {
13+
14+
private String code;
15+
private String message;
16+
17+
public SimpleBankingGlobalException(String message) {
18+
super(message);
19+
}
20+
}

0 commit comments

Comments
 (0)