Skip to content

Commit 9a69df3

Browse files
committed
Added JWT rest
1 parent 925f2d0 commit 9a69df3

23 files changed

+102
-99
lines changed

spring-security-jwt/src/main/java/com/stacktips/app/controller/GlobalExceptionHandler.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package com.stacktips.app.controller;
22

33
import com.stacktips.app.dto.ApiError;
4-
import com.stacktips.app.exception.UserAlreadyExistsException;
4+
import com.stacktips.app.exception.AuthException;
5+
import com.stacktips.app.exception.DuplicateUserException;
56
import com.stacktips.app.exception.UserNotFoundException;
67
import lombok.extern.slf4j.Slf4j;
78
import org.springframework.http.HttpStatus;
@@ -20,14 +21,18 @@ ResponseEntity<Void> handleNotFoundException(UserNotFoundException ex) {
2021
.build();
2122
}
2223

23-
@ExceptionHandler(UserAlreadyExistsException.class)
24-
ResponseEntity<ApiError> handleNotFoundException(UserAlreadyExistsException ex) {
25-
log.error("Error", ex);
24+
@ExceptionHandler(AuthException.class)
25+
ResponseEntity<ApiError> handleAuthException(AuthException ex) {
26+
ApiError apiError = ApiError.builder().message(ex.getMessage()).build();
27+
return new ResponseEntity<>(apiError, HttpStatus.UNAUTHORIZED);
28+
}
29+
30+
@ExceptionHandler(DuplicateUserException.class)
31+
ResponseEntity<ApiError> handleUserAlreadyExistsException(DuplicateUserException ex) {
2632
ApiError apiError = ApiError.builder()
27-
.message("User exist!")
28-
.code(HttpStatus.BAD_REQUEST.value())
33+
.message(ex.getMessage())
2934
.build();
30-
return ResponseEntity.badRequest().body(apiError);
35+
return new ResponseEntity<>(apiError, HttpStatus.BAD_REQUEST);
3136
}
3237

3338
}

spring-security-jwt/src/main/java/com/stacktips/app/controller/LoginController.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,5 @@ public class LoginController {
2727
public ResponseEntity<TokenResponse> login(@RequestBody @Valid LoginRequest request) throws UserNotFoundException {
2828
return ResponseEntity.ok(loginService.loginUser(request));
2929
}
30+
3031
}

spring-security-jwt/src/main/java/com/stacktips/app/controller/RegisterUserController.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ public class RegisterUserController {
2121
@PostMapping("/register")
2222
public RegisterResponse registerUser(@RequestBody RegisterRequest request) {
2323
registrationService.registerUser(request);
24-
return RegisterResponse.builder().success(true)
25-
.message("User has been created")
26-
.build();
24+
return RegisterResponse.builder().success(true).build();
2725
}
2826
}

spring-security-jwt/src/main/java/com/stacktips/app/controller/UserController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.stacktips.app.dto.UserResponse;
44
import com.stacktips.app.entities.User;
55
import com.stacktips.app.exception.UserNotFoundException;
6-
import com.stacktips.app.services.JwtUserDetailsService;
6+
import com.stacktips.app.services.UserDetailsServiceImpl;
77
import lombok.RequiredArgsConstructor;
88
import org.springframework.web.bind.annotation.CrossOrigin;
99
import org.springframework.web.bind.annotation.GetMapping;
@@ -20,7 +20,7 @@
2020
@RequiredArgsConstructor
2121
public class UserController {
2222

23-
private final JwtUserDetailsService userDetailsService;
23+
private final UserDetailsServiceImpl userDetailsService;
2424

2525
@GetMapping(path = "/{userId}")
2626
public UserResponse getUser(@PathVariable Long userId) {

spring-security-jwt/src/main/java/com/stacktips/app/dto/ApiError.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,4 @@
1212
public class ApiError {
1313

1414
String message;
15-
int code;
1615
}

spring-security-jwt/src/main/java/com/stacktips/app/dto/LoginRequest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package com.stacktips.app.dto;
22

3-
import lombok.*;
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
import lombok.ToString;
48

59
import javax.validation.constraints.Email;
610

@@ -11,6 +15,7 @@
1115
@NoArgsConstructor
1216
@AllArgsConstructor
1317
public class LoginRequest {
18+
1419
@Email(message = "invalid email address")
1520
String email;
1621

spring-security-jwt/src/main/java/com/stacktips/app/dto/RegisterRequest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package com.stacktips.app.dto;
22

3-
import lombok.*;
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
import lombok.ToString;
48

59
@Data
610
@ToString

spring-security-jwt/src/main/java/com/stacktips/app/dto/RegisterResponse.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,4 @@
1414
public class RegisterResponse {
1515

1616
boolean success;
17-
String message;
1817
}
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package com.stacktips.app.dto;
22

3-
import lombok.*;
3+
import lombok.AllArgsConstructor;
4+
import lombok.Builder;
5+
import lombok.Data;
6+
import lombok.NoArgsConstructor;
7+
import lombok.ToString;
48

59
@Data
610
@ToString
@@ -9,7 +13,5 @@
913
@AllArgsConstructor
1014
public class TokenResponse {
1115
boolean success;
12-
String message;
1316
String token;
14-
long expiresIn;
1517
}

spring-security-jwt/src/main/java/com/stacktips/app/entities/UserPrivilege.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
package com.stacktips.app.entities;
22

3-
import jakarta.persistence.*;
4-
import lombok.*;
3+
import jakarta.persistence.Column;
4+
import jakarta.persistence.Entity;
5+
import jakarta.persistence.GeneratedValue;
6+
import jakarta.persistence.GenerationType;
7+
import jakarta.persistence.Id;
8+
import lombok.AllArgsConstructor;
9+
import lombok.Builder;
10+
import lombok.Getter;
11+
import lombok.NoArgsConstructor;
12+
import lombok.Setter;
513

614

715
@Setter

0 commit comments

Comments
 (0)