code 정리

This commit is contained in:
byung eun park 2019-08-19 17:26:45 +09:00
parent 135f2ff492
commit e0c2d9736e
14 changed files with 85 additions and 537 deletions

View File

@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.support.ServletUriComponentsBuilder; import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid; import javax.validation.Valid;
import java.net.URI; import java.net.URI;
import java.util.Collections; import java.util.Collections;
@ -51,7 +52,10 @@ public class AuthController {
JwtTokenProvider tokenProvider; JwtTokenProvider tokenProvider;
@PostMapping("/signin") @PostMapping("/signin")
public ResponseEntity<?> authenticateUser(@Valid @RequestBody SigninRequest signinRequest) { public ResponseEntity<?> authenticateUser(@Valid @RequestBody SigninRequest signinRequest, HttpServletRequest request) {
String ipAddr = request.getRemoteAddr();
System.out.println("ipAddr = " + ipAddr);
Authentication authentication = authenticationManager.authenticate( Authentication authentication = authenticationManager.authenticate(
new UsernamePasswordAuthenticationToken(signinRequest.getUsername(), signinRequest.getPassword())); new UsernamePasswordAuthenticationToken(signinRequest.getUsername(), signinRequest.getPassword()));

View File

@ -1,5 +1,8 @@
package com.totopia.server.auth.payload; package com.totopia.server.auth.payload;
import lombok.Data;
@Data
public class JwtSigninResponse { public class JwtSigninResponse {
private String accessToken; private String accessToken;
private String tokenType = "Bearer"; private String tokenType = "Bearer";
@ -7,53 +10,4 @@ public class JwtSigninResponse {
public JwtSigninResponse(String accessToken) { public JwtSigninResponse(String accessToken) {
this.accessToken = accessToken; this.accessToken = accessToken;
} }
public String getAccessToken() {
return this.accessToken;
}
public String getTokenType() {
return this.tokenType;
}
public void setAccessToken(String accessToken) {
this.accessToken = accessToken;
}
public void setTokenType(String tokenType) {
this.tokenType = tokenType;
}
public boolean equals(final Object o) {
if (o == this) return true;
if (!(o instanceof JwtSigninResponse)) return false;
final JwtSigninResponse other = (JwtSigninResponse) o;
if (!other.canEqual((Object) this)) return false;
final Object this$accessToken = this.getAccessToken();
final Object other$accessToken = other.getAccessToken();
if (this$accessToken == null ? other$accessToken != null : !this$accessToken.equals(other$accessToken))
return false;
final Object this$tokenType = this.getTokenType();
final Object other$tokenType = other.getTokenType();
if (this$tokenType == null ? other$tokenType != null : !this$tokenType.equals(other$tokenType)) return false;
return true;
}
protected boolean canEqual(final Object other) {
return other instanceof JwtSigninResponse;
}
public int hashCode() {
final int PRIME = 59;
int result = 1;
final Object $accessToken = this.getAccessToken();
result = result * PRIME + ($accessToken == null ? 43 : $accessToken.hashCode());
final Object $tokenType = this.getTokenType();
result = result * PRIME + ($tokenType == null ? 43 : $tokenType.hashCode());
return result;
}
public String toString() {
return "JwtSigninResponse(accessToken=" + this.getAccessToken() + ", tokenType=" + this.getTokenType() + ")";
}
} }

View File

@ -1,97 +1,20 @@
package com.totopia.server.auth.payload; package com.totopia.server.auth.payload;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SigninRequest { public class SigninRequest {
@NotBlank @NotBlank
private String username; private String username;
@NotBlank @NotBlank
private String password; private String password;
public SigninRequest(@NotBlank String username, @NotBlank String password) {
this.username = username;
this.password = password;
}
public SigninRequest() {
}
public static SigninRequestBuilder builder() {
return new SigninRequestBuilder();
}
public @NotBlank String getUsername() {
return this.username;
}
public @NotBlank String getPassword() {
return this.password;
}
public void setUsername(@NotBlank String username) {
this.username = username;
}
public void setPassword(@NotBlank String password) {
this.password = password;
}
public boolean equals(final Object o) {
if (o == this) return true;
if (!(o instanceof SigninRequest)) return false;
final SigninRequest other = (SigninRequest) o;
if (!other.canEqual((Object) this)) return false;
final Object this$username = this.getUsername();
final Object other$username = other.getUsername();
if (this$username == null ? other$username != null : !this$username.equals(other$username)) return false;
final Object this$password = this.getPassword();
final Object other$password = other.getPassword();
if (this$password == null ? other$password != null : !this$password.equals(other$password)) return false;
return true;
}
protected boolean canEqual(final Object other) {
return other instanceof SigninRequest;
}
public int hashCode() {
final int PRIME = 59;
int result = 1;
final Object $username = this.getUsername();
result = result * PRIME + ($username == null ? 43 : $username.hashCode());
final Object $password = this.getPassword();
result = result * PRIME + ($password == null ? 43 : $password.hashCode());
return result;
}
public String toString() {
return "SigninRequest(username=" + this.getUsername() + ", password=" + this.getPassword() + ")";
}
public static class SigninRequestBuilder {
private @NotBlank String username;
private @NotBlank String password;
SigninRequestBuilder() {
}
public SigninRequest.SigninRequestBuilder username(@NotBlank String username) {
this.username = username;
return this;
}
public SigninRequest.SigninRequestBuilder password(@NotBlank String password) {
this.password = password;
return this;
}
public SigninRequest build() {
return new SigninRequest(username, password);
}
public String toString() {
return "SigninRequest.SigninRequestBuilder(username=" + this.username + ", password=" + this.password + ")";
}
}
} }

View File

@ -1,9 +1,11 @@
package com.totopia.server.auth.payload; package com.totopia.server.auth.payload;
import lombok.Data;
import javax.validation.constraints.Email; import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
@Data
public class SignupRequest { public class SignupRequest {
@NotBlank @NotBlank
@Size(min = 4, max = 40) @Size(min = 4, max = 40)
@ -21,81 +23,4 @@ public class SignupRequest {
@NotBlank @NotBlank
@Size(min = 6, max = 20) @Size(min = 6, max = 20)
private String password; private String password;
public SignupRequest() {
}
public @NotBlank @Size(min = 4, max = 40) String getName() {
return this.name;
}
public @NotBlank @Size(min = 3, max = 15) String getUsername() {
return this.username;
}
public @NotBlank @Size(max = 40) @Email String getEmail() {
return this.email;
}
public @NotBlank @Size(min = 6, max = 20) String getPassword() {
return this.password;
}
public void setName(@NotBlank @Size(min = 4, max = 40) String name) {
this.name = name;
}
public void setUsername(@NotBlank @Size(min = 3, max = 15) String username) {
this.username = username;
}
public void setEmail(@NotBlank @Size(max = 40) @Email String email) {
this.email = email;
}
public void setPassword(@NotBlank @Size(min = 6, max = 20) String password) {
this.password = password;
}
public boolean equals(final Object o) {
if (o == this) return true;
if (!(o instanceof SignupRequest)) return false;
final SignupRequest other = (SignupRequest) o;
if (!other.canEqual((Object) this)) return false;
final Object this$name = this.getName();
final Object other$name = other.getName();
if (this$name == null ? other$name != null : !this$name.equals(other$name)) return false;
final Object this$username = this.getUsername();
final Object other$username = other.getUsername();
if (this$username == null ? other$username != null : !this$username.equals(other$username)) return false;
final Object this$email = this.getEmail();
final Object other$email = other.getEmail();
if (this$email == null ? other$email != null : !this$email.equals(other$email)) return false;
final Object this$password = this.getPassword();
final Object other$password = other.getPassword();
if (this$password == null ? other$password != null : !this$password.equals(other$password)) return false;
return true;
}
protected boolean canEqual(final Object other) {
return other instanceof SignupRequest;
}
public int hashCode() {
final int PRIME = 59;
int result = 1;
final Object $name = this.getName();
result = result * PRIME + ($name == null ? 43 : $name.hashCode());
final Object $username = this.getUsername();
result = result * PRIME + ($username == null ? 43 : $username.hashCode());
final Object $email = this.getEmail();
result = result * PRIME + ($email == null ? 43 : $email.hashCode());
final Object $password = this.getPassword();
result = result * PRIME + ($password == null ? 43 : $password.hashCode());
return result;
}
public String toString() {
return "SignupRequest(name=" + this.getName() + ", username=" + this.getUsername() + ", email=" + this.getEmail() + ", password=" + this.getPassword() + ")";
}
} }

View File

@ -1,6 +1,10 @@
package com.totopia.server.commons.data.entity; package com.totopia.server.commons.data.entity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.annotation.LastModifiedDate;
@ -15,8 +19,11 @@ import java.util.Date;
@MappedSuperclass @MappedSuperclass
@EntityListeners(AuditingEntityListener.class) @EntityListeners(AuditingEntityListener.class)
@JsonIgnoreProperties(value = { "createdAt", "updatedAt" }, allowGetters = true) @JsonIgnoreProperties(value = { "createdDate", "lastModifiedDate" }, allowGetters = true)
@SuperBuilder @SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
public abstract class DateAuditEntity implements Serializable { public abstract class DateAuditEntity implements Serializable {
private static final long serialVersionUID = 3495202400889041952L; private static final long serialVersionUID = 3495202400889041952L;
@ -28,60 +35,4 @@ public abstract class DateAuditEntity implements Serializable {
@LastModifiedDate @LastModifiedDate
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
private Date updatedAt; private Date updatedAt;
public DateAuditEntity(Date createdAt, Date updatedAt) {
this.createdAt = createdAt;
this.updatedAt = updatedAt;
}
public DateAuditEntity() {
}
public Date getCreatedAt() {
return this.createdAt;
}
public Date getUpdatedAt() {
return this.updatedAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
public boolean equals(final Object o) {
if (o == this) return true;
if (!(o instanceof DateAuditEntity)) return false;
final DateAuditEntity other = (DateAuditEntity) o;
if (!other.canEqual((Object) this)) return false;
final Object this$createdAt = this.getCreatedAt();
final Object other$createdAt = other.getCreatedAt();
if (this$createdAt == null ? other$createdAt != null : !this$createdAt.equals(other$createdAt)) return false;
final Object this$updatedAt = this.getUpdatedAt();
final Object other$updatedAt = other.getUpdatedAt();
if (this$updatedAt == null ? other$updatedAt != null : !this$updatedAt.equals(other$updatedAt)) return false;
return true;
}
protected boolean canEqual(final Object other) {
return other instanceof DateAuditEntity;
}
public int hashCode() {
final int PRIME = 59;
int result = 1;
final Object $createdAt = this.getCreatedAt();
result = result * PRIME + ($createdAt == null ? 43 : $createdAt.hashCode());
final Object $updatedAt = this.getUpdatedAt();
result = result * PRIME + ($updatedAt == null ? 43 : $updatedAt.hashCode());
return result;
}
public String toString() {
return "DateAuditEntity(createdAt=" + this.getCreatedAt() + ", updatedAt=" + this.getUpdatedAt() + ")";
}
} }

View File

@ -1,6 +1,10 @@
package com.totopia.server.commons.data.entity; package com.totopia.server.commons.data.entity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.LastModifiedBy; import org.springframework.data.annotation.LastModifiedBy;
@ -12,8 +16,12 @@ import javax.persistence.MappedSuperclass;
*/ */
@MappedSuperclass @MappedSuperclass
@JsonIgnoreProperties(value = { "createdBy", "updatedBy" }, allowGetters = true) @JsonIgnoreProperties(value = { "createdBy", "lastModifiedBy" }, allowGetters = true)
@SuperBuilder @SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public abstract class UserDateAuditEntity extends DateAuditEntity { public abstract class UserDateAuditEntity extends DateAuditEntity {
private static final long serialVersionUID = 6379346917688414915L; private static final long serialVersionUID = 6379346917688414915L;
@ -24,59 +32,4 @@ public abstract class UserDateAuditEntity extends DateAuditEntity {
@LastModifiedBy @LastModifiedBy
private Long updatedBy; private Long updatedBy;
public UserDateAuditEntity(Long createdBy, Long updatedBy) {
this.createdBy = createdBy;
this.updatedBy = updatedBy;
}
public UserDateAuditEntity() {
}
public Long getCreatedBy() {
return this.createdBy;
}
public Long getUpdatedBy() {
return this.updatedBy;
}
public void setCreatedBy(Long createdBy) {
this.createdBy = createdBy;
}
public void setUpdatedBy(Long updatedBy) {
this.updatedBy = updatedBy;
}
public String toString() {
return "UserDateAuditEntity(createdBy=" + this.getCreatedBy() + ", updatedBy=" + this.getUpdatedBy() + ")";
}
public boolean equals(final Object o) {
if (o == this) return true;
if (!(o instanceof UserDateAuditEntity)) return false;
final UserDateAuditEntity other = (UserDateAuditEntity) o;
if (!other.canEqual((Object) this)) return false;
final Object this$createdBy = this.getCreatedBy();
final Object other$createdBy = other.getCreatedBy();
if (this$createdBy == null ? other$createdBy != null : !this$createdBy.equals(other$createdBy)) return false;
final Object this$updatedBy = this.getUpdatedBy();
final Object other$updatedBy = other.getUpdatedBy();
if (this$updatedBy == null ? other$updatedBy != null : !this$updatedBy.equals(other$updatedBy)) return false;
return true;
}
protected boolean canEqual(final Object other) {
return other instanceof UserDateAuditEntity;
}
public int hashCode() {
final int PRIME = 59;
int result = 1;
final Object $createdBy = this.getCreatedBy();
result = result * PRIME + ($createdBy == null ? 43 : $createdBy.hashCode());
final Object $updatedBy = this.getUpdatedBy();
result = result * PRIME + ($updatedBy == null ? 43 : $updatedBy.hashCode());
return result;
}
} }

View File

@ -1,92 +1,15 @@
package com.totopia.server.commons.data.payload; package com.totopia.server.commons.data.payload;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ApiResponse { public class ApiResponse {
private Boolean success; private Boolean success;
private String message; private String message;
public ApiResponse(Boolean success, String message) {
this.success = success;
this.message = message;
}
public ApiResponse() {
}
public static ApiResponseBuilder builder() {
return new ApiResponseBuilder();
}
public Boolean getSuccess() {
return this.success;
}
public String getMessage() {
return this.message;
}
public void setSuccess(Boolean success) {
this.success = success;
}
public void setMessage(String message) {
this.message = message;
}
public boolean equals(final Object o) {
if (o == this) return true;
if (!(o instanceof ApiResponse)) return false;
final ApiResponse other = (ApiResponse) o;
if (!other.canEqual((Object) this)) return false;
final Object this$success = this.getSuccess();
final Object other$success = other.getSuccess();
if (this$success == null ? other$success != null : !this$success.equals(other$success)) return false;
final Object this$message = this.getMessage();
final Object other$message = other.getMessage();
if (this$message == null ? other$message != null : !this$message.equals(other$message)) return false;
return true;
}
protected boolean canEqual(final Object other) {
return other instanceof ApiResponse;
}
public int hashCode() {
final int PRIME = 59;
int result = 1;
final Object $success = this.getSuccess();
result = result * PRIME + ($success == null ? 43 : $success.hashCode());
final Object $message = this.getMessage();
result = result * PRIME + ($message == null ? 43 : $message.hashCode());
return result;
}
public String toString() {
return "ApiResponse(success=" + this.getSuccess() + ", message=" + this.getMessage() + ")";
}
public static class ApiResponseBuilder {
private Boolean success;
private String message;
ApiResponseBuilder() {
}
public ApiResponse.ApiResponseBuilder success(Boolean success) {
this.success = success;
return this;
}
public ApiResponse.ApiResponseBuilder message(String message) {
this.message = message;
return this;
}
public ApiResponse build() {
return new ApiResponse(success, message);
}
public String toString() {
return "ApiResponse.ApiResponseBuilder(success=" + this.success + ", message=" + this.message + ")";
}
}
} }

View File

@ -1,5 +1,6 @@
package com.totopia.server.config.jwt; package com.totopia.server.config.jwt;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.security.web.AuthenticationEntryPoint;
@ -11,10 +12,9 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
@Component @Component
@Slf4j
public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint { public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
private static final Logger log = org.slf4j.LoggerFactory.getLogger(JwtAuthenticationEntryPoint.class);
@Override @Override
public void commence(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, public void commence(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
AuthenticationException e) throws IOException, ServletException { AuthenticationException e) throws IOException, ServletException {

View File

@ -1,6 +1,7 @@
package com.totopia.server.config.jwt; package com.totopia.server.config.jwt;
import com.totopia.server.config.security.SecurityUserDetailsService; import com.totopia.server.config.security.SecurityUserDetailsService;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@ -16,9 +17,9 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
@Slf4j
public class JwtAuthenticationFilter extends OncePerRequestFilter { public class JwtAuthenticationFilter extends OncePerRequestFilter {
private static final Logger log = org.slf4j.LoggerFactory.getLogger(JwtAuthenticationFilter.class);
@Autowired @Autowired
private JwtTokenProvider tokenProvider; private JwtTokenProvider tokenProvider;

View File

@ -2,6 +2,7 @@ package com.totopia.server.config.jwt;
import com.totopia.server.config.security.SecurityUserDetails; import com.totopia.server.config.security.SecurityUserDetails;
import io.jsonwebtoken.*; import io.jsonwebtoken.*;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.core.Authentication; import org.springframework.security.core.Authentication;
@ -14,10 +15,10 @@ import java.util.stream.Collectors;
/** /**
* Created by rajeevkumarsingh on 19/08/17. * Created by rajeevkumarsingh on 19/08/17.
*/ */
@Slf4j
@Component @Component
public class JwtTokenProvider { public class JwtTokenProvider {
private static final String AUTHORITIES_KEY = "authorities"; private static final String AUTHORITIES_KEY = "authorities";
private static final Logger log = org.slf4j.LoggerFactory.getLogger(JwtTokenProvider.class);
@Value("${app.jwt.secret}") @Value("${app.jwt.secret}")
private String jwtSecret; private String jwtSecret;

View File

@ -2,6 +2,10 @@ package com.totopia.server.config.security;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.totopia.server.modules.user.entity.UserEntity; import com.totopia.server.modules.user.entity.UserEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
@ -11,6 +15,10 @@ import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SecurityUserDetails implements UserDetails { public class SecurityUserDetails implements UserDetails {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -28,22 +36,6 @@ public class SecurityUserDetails implements UserDetails {
private Collection<? extends GrantedAuthority> authorities; private Collection<? extends GrantedAuthority> authorities;
public SecurityUserDetails(Long id, String name, String username, String email, String password, Collection<? extends GrantedAuthority> authorities) {
this.id = id;
this.name = name;
this.username = username;
this.email = email;
this.password = password;
this.authorities = authorities;
}
public SecurityUserDetails() {
}
public static SecurityUserDetailsBuilder builder() {
return new SecurityUserDetailsBuilder();
}
@Override @Override
public String getUsername() { public String getUsername() {
return username; return username;
@ -102,93 +94,4 @@ public class SecurityUserDetails implements UserDetails {
.authorities(authorities).build(); .authorities(authorities).build();
} }
public Long getId() {
return this.id;
}
public String getName() {
return this.name;
}
public String getEmail() {
return this.email;
}
public void setId(Long id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setUsername(String username) {
this.username = username;
}
public void setEmail(String email) {
this.email = email;
}
public void setPassword(String password) {
this.password = password;
}
public void setAuthorities(Collection<? extends GrantedAuthority> authorities) {
this.authorities = authorities;
}
public String toString() {
return "SecurityUserDetails(id=" + this.getId() + ", name=" + this.getName() + ", username=" + this.getUsername() + ", email=" + this.getEmail() + ", password=" + this.getPassword() + ", authorities=" + this.getAuthorities() + ")";
}
public static class SecurityUserDetailsBuilder {
private Long id;
private String name;
private String username;
private String email;
private String password;
private Collection<? extends GrantedAuthority> authorities;
SecurityUserDetailsBuilder() {
}
public SecurityUserDetails.SecurityUserDetailsBuilder id(Long id) {
this.id = id;
return this;
}
public SecurityUserDetails.SecurityUserDetailsBuilder name(String name) {
this.name = name;
return this;
}
public SecurityUserDetails.SecurityUserDetailsBuilder username(String username) {
this.username = username;
return this;
}
public SecurityUserDetails.SecurityUserDetailsBuilder email(String email) {
this.email = email;
return this;
}
public SecurityUserDetails.SecurityUserDetailsBuilder password(String password) {
this.password = password;
return this;
}
public SecurityUserDetails.SecurityUserDetailsBuilder authorities(Collection<? extends GrantedAuthority> authorities) {
this.authorities = authorities;
return this;
}
public SecurityUserDetails build() {
return new SecurityUserDetails(id, name, username, email, password, authorities);
}
public String toString() {
return "SecurityUserDetails.SecurityUserDetailsBuilder(id=" + this.id + ", name=" + this.name + ", username=" + this.username + ", email=" + this.email + ", password=" + this.password + ", authorities=" + this.authorities + ")";
}
}
} }

View File

@ -8,6 +8,7 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.data.web.PageableDefault; import org.springframework.data.web.PageableDefault;
import org.springframework.data.web.SortDefault;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -24,14 +25,14 @@ public class UserController {
} }
@GetMapping(value = "/users") @GetMapping(value = "/users")
public @ResponseBody Page<UserEntity> all(@PageableDefault(sort = {"username"}, direction = Sort.Direction.DESC, size = 10)Pageable pageable) { public Page<UserEntity> all(@RequestParam(value = "username", required = false) String username,
Page<UserEntity> users = userRepository.findAll(pageable); @SortDefault.SortDefaults({ @SortDefault(sort = "createdDate", direction = Sort.Direction.DESC) }) Pageable pageable) {
// Gson gson = new Gson();
// if (null == username) {
// String json = gson.toJson(users); return userRepository.findAll(pageable);
return users; } else {
// public Page<UserEntity> all(Pageable pageable) { return userRepository.findByUsernameContainingIgnoreCase(username, pageable);
// return userRepository.findAll(pageable); }
} }
@GetMapping(value = "/users/{userId}") @GetMapping(value = "/users/{userId}")

View File

@ -12,6 +12,8 @@ public interface UserRepository extends JpaRepository<UserEntity, Long> {
Optional<UserEntity> findByUsername(String username); Optional<UserEntity> findByUsername(String username);
Page<UserEntity> findByUsernameContainingIgnoreCase(String username, Pageable pageable);
Boolean existsByEmail(String email); Boolean existsByEmail(String email);
Optional<UserEntity> findByEmail(String email); Optional<UserEntity> findByEmail(String email);

View File

@ -1,7 +1,19 @@
# Server configuration
server:
port: 8088
servlet:
context-path: /api
# Spring Boot configuration # Spring Boot configuration
spring: spring:
# autoconfigure: data:
# exclude: org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration web:
pageable:
size-parameter: size
page-parameter: page
default-page-size: 20
one-indexed-parameters: true
max-page-size: 2000
application: application:
name: totopia-server name: totopia-server
datasource: datasource:
@ -37,11 +49,6 @@ logging:
org.springframework: INFO org.springframework: INFO
org.hibernate: DEBUG org.hibernate: DEBUG
# Server configuration
server:
port: 8088
servlet:
context-path: /api
#JWT properties #JWT properties
app: app: