๊ฐ๋จํ ๊ธฐ๋ณธ ๋ฑ๋ก ํ์ด์ง๋ผ์ ๋ค๋ฅธ์ฝ๋์ ๋๊ฐ์ด ํ๋ค๊ฐ ์ฝ๊ฐ ๋ณํ๋ฅผ ์ฃผ์๋ค.
html ์์ ajax๋ก ์๋ฒ์๊ฒ ์์ฒญํ ๋ success ์ฆ ํต์ ์ ์ฑ๊ณตํ๊ณ java ์์ return ์ผ๋ก ok (boolean) ์ ๋ด๋ ค์ฃผ๋ฉด message ๋ฅผ ๋์ด์ค๋ค.
const updateDriver = function () {
if (confirm("๋ฑ๋กํ์๊ฒ ์ต๋๊น?")) {
$.ajax({
type: "POST",
url: "/create",
data: $("#createForm").serialize(),
dataType: 'json',
success: function (r) {
alert(r.message);
if (r.OK) {
location.href = '/list';
}
},
error: function (xhr, status, error) {
alert(error);
}
});
}
}
try-catch ๋ฅผ ์ ์ฉํด๋ณด์๋ค User.createUser(dto) ์์ Assert.hasText() ๋ฅผ ํตํด ์ ํจ์ฑ์ด ๊ฒ์ฆ๋์ง ์์ผ๋ฉด ์์ธ๋ฅผ ๋์ง๋ค. ์ด๋ค ์์ธ์ธ์ง ํ์ธํ๋ ค๋ฉด ํด๋น ํด๋์ค๋ก ์ด๋ํ์ฌ ํ์ธํ๋ค.
@Transactional
@Override
public ServiceResult create(Dto dto) {
ServiceResult serviceResult = ServiceResult.builder().OK(false).build();
try {
repository.save(User.createUser(dto));
} catch (IllegalArgumentException e) {
serviceResult.setMessage(e.getMessage());
return serviceResult;
}
serviceResult.setMessage("์ฌ์ฉ์ ๋ฑ๋ก์ด ์๋ฃ๋์์ต๋๋ค.");
serviceResult.setOK(true);
return serviceResult;
}
public static User createUser(Dto dto) {
Assert.hasText(dto.getName(), "์ฌ์ฉ์ ์ด๋ฆ์ ํ์ ์
๋๋ค.");
Assert.hasText(dto.getCellphone(), "์ฌ์ฉ์ ํด๋ํฐ ๋ฒํธ๋ ํ์ ์
๋๋ค.");
return User.builder()
.name(dto.getName()).cellPhone(dto.getCellphone()).build());
}
์ด๋ ๊ฒ ํ๋ฉด ํ๋ฉด์์ ์ ํจ์ฑ ๊ฒ์ฌ + ์๋ฒ์์๋ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํด์ ์คํฌ๋ฆฝํธ ์ค๋ฅ๊ฐ ๋๋๋ผ๋ ์ํ๋ ์๋ฌ๋ฉ์์ง๋ฅผ ๋ฐํํ ์ ์๋ค.
๋ฐ์ํ
'๐ WEB > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฉ๋ชจ๋ฆฌ ์ ์ฝ ์ต๊ด ๋ค์ด๊ธฐ (Java Programming) (0) | 2023.04.23 |
---|---|
์ ๋ค๋ฆญ DTO (0) | 2023.03.14 |
๋๋ง ์ด๋ ค์ด ์์ธ์ฒ๋ฆฌ (0) | 2022.05.19 |
Enum Type ์์ Function Interface ํ์ฉ (0) | 2022.04.01 |
Test-Driven-Development ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ (0) | 2022.03.24 |