2025๋ 3์ 27์ผ
public class UserDto {
private String userid;
private String username;
private String password;
private String role; // ex: ROLE_USER, ROLE_ADMIN
// ๊ธฐ๋ณธ ์์ฑ์
public UserDto() {}
// ์ ์ฒด ํ๋ ์ด๊ธฐํ ์์ฑ์
public UserDto(String userid, String username, String password, String role) {
this.userid = userid;
this.username = username;
this.password = password;
this.role = role;
}
// Getter/Setter
public String getUserid() { return userid; }
public void setUserid(String userid) { this.userid = userid; }
public String getUsername() { return username; }
public void setUsername(String username) { this.username = username; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; }
public String getRole() { return role; }
public void setRole(String role) { this.role = role; }
// ๋๋ฒ๊น
/์ถ๋ ฅ์ฉ
@Override
public String toString() {
return "UserDto [userid=" + userid + ", username=" + username +
", password=" + password + ", role=" + role + "]";
}
}
public class BookDto {
private String bookCode;
private String bookName;
private String publisher;
private String isbn;
// ๊ธฐ๋ณธ ์์ฑ์
public BookDto() {}
// ๋ชจ๋ ํ๋๋ฅผ ๋ฐ๋ ์์ฑ์
public BookDto(String bookCode, String bookName, String publisher, String isbn) {
this.bookCode = bookCode;
this.bookName = bookName;
this.publisher = publisher;
this.isbn = isbn;
}
// Getter/Setter
public String getBookCode() { return bookCode; }
public void setBookCode(String bookCode) { this.bookCode = bookCode; }
public String getBookName() { return bookName; }
public void setBookName(String bookName) { this.bookName = bookName; }
public String getPublisher() { return publisher; }
public void setPublisher(String publisher) { this.publisher = publisher; }
public String getIsbn() { return isbn; }
public void setIsbn(String isbn) { this.isbn = isbn; }
@Override
public String toString() {
return "BookDto [bookCode=" + bookCode + ", bookName=" + bookName +
", publisher=" + publisher + ", isbn=" + isbn + "]";
}
}
class ControllerTests {
FrontController fc = FrontController.getInstance(); // ์ฑ๊ธํค ์ธ์คํด์ค
@Test
@Disabled
void test1() {
// ํ์๊ฐ์
์์ฒญ ๊ตฌ์ฑ
Map<String, Object> params = new HashMap<>();
params.put("endPoint", "/user");
params.put("serviceNo", 1);
params.put("userid", "user01");
params.put("username", "ํ๊ธธ๋");
params.put("password", "1234");
Map<String, Object> response = fc.execute(params);
// ์๋ต ์ถ๋ ฅ
response.forEach((k, v) -> System.out.println(k + " : " + v));
}
@Test
void test2() {
// ๋์ ๋ฑ๋ก ์์ฒญ ๊ตฌ์ฑ
Map<String, Object> params = new HashMap<>();
params.put("endPoint", "/book");
params.put("serviceNo", 1);
params.put("bookCode", "11111111");
params.put("bookName", "์๋ฐ์ ์ ์");
params.put("publisher", "ํ๋น์ถํ์ฌ");
params.put("isbn", "978-1234567890");
Map<String, Object> response = fc.execute(params);
// ์๋ต ์ถ๋ ฅ
response.forEach((k, v) -> System.out.println(k + " : " + v));
}
}
class DaoTests {
@Test
@Disabled
void test1() throws Exception {
// DB ์ฐ๊ฒฐ ํ์ธ
UserDaoImpl userDao = UserDaoImpl.getInstance();
}
@Test
@Disabled
void test2() throws Exception {
// ์ฌ์ฉ์ ๋ฑ๋ก ํ
์คํธ
UserDaoImpl userDao = UserDaoImpl.getInstance();
userDao.insert(new UserDto("aaa", "ํ๊ธธ๋", "1234", "ROLE_USER"));
}
@Test
void test3() throws Exception {
// ๋์ ๋ฑ๋ก ํ
์คํธ
BookDaoImpl bookDao = BookDaoImpl.getInstance();
bookDao.insert(new BookDto("1111", "๋ฆฌ๋
์ค ์์ ์ ๋ณต", "OS์ถํ", "111-111"));
}
}
private boolean isValid(UserDto userDto) {
if (userDto.getUserid() == null || userDto.getUserid().length() <= 4) {
response.put("error", "userid์ ๊ธธ์ด๋ ์ต์ 5์ ์ด์์ด์ด์ผ ํฉ๋๋ค.");
return false;
}
if (userDto.getUserid().matches("^[0-9].*")) {
response.put("error", "userid์ ์ฒซ ๋ฌธ์๋ก ์ซ์๊ฐ ๋ค์ด์ฌ ์ ์์ต๋๋ค.");
return false;
}
return true;
}
์ค๋ช :
userid
๋ 5์ ์ด์์ด์ด์ผ ํจMap<String, Object>
์ status: false
, message
ํฌํจํ์ฌ ๋ฐํprivate boolean isValid(BookDto bookDto) {
if (bookDto.getBookCode() == null || bookDto.getBookCode().length() < 8) {
response.put("error", "BookCode๋ ์ต์ 8์ ์ด์์ด์ด์ผ ํฉ๋๋ค.");
return false;
}
if (bookDto.getBookCode().length() > 255) {
response.put("error", "BookCode๋ 255์๋ฅผ ์ด๊ณผํ ์ ์์ต๋๋ค.");
return false;
}
return true;
}
์ค๋ช :
bookCode
๋ ์ต์ 8์ ์ด์, 255์ ์ดํresponse
์ ๋ด์ ๋ฐํํญ๋ชฉ | ์์ฝ |
---|---|
DTO | ๊ณ์ธต ๊ฐ ๋ฐ์ดํฐ ์ ๋ฌ์ฉ, POJO ํด๋์ค ๊ตฌ์ฑ |
ํ ์คํธ | Controller ๋ฐ Dao ํ ์คํธ๋ฅผ ํตํ ํ๋ฆ ๊ฒ์ฆ |
์ ํจ์ฑ ๊ฒ์ฌ | Controller ๋จ๊ณ์์ ํ์ ํ๋ ๊ฒ์ฆ ๋ฐ ์์ธ ์ฐจ๋จ ์ฒ๋ฆฌ |