์• ์ •์ฝ”๋”ฉ ๐Ÿ’ป
article thumbnail

๊ฐ„๋‹จํ•œ ๊ธฐ๋ณธ ๋“ฑ๋ก ํŽ˜์ด์ง€๋ผ์„œ ๋‹ค๋ฅธ์ฝ”๋“œ์™€ ๋˜‘๊ฐ™์ด ํ•˜๋‹ค๊ฐ€ ์•ฝ๊ฐ„ ๋ณ€ํ™”๋ฅผ ์ฃผ์—ˆ๋‹ค.

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() ๋ฅผ ํ†ตํ•ด ์œ ํšจ์„ฑ์ด ๊ฒ€์ฆ๋˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์™ธ๋ฅผ ๋˜์ง„๋‹ค. ์–ด๋–ค ์˜ˆ์™ธ์ธ์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ํ•ด๋‹น ํด๋ž˜์Šค๋กœ ์ด๋™ํ•˜์—ฌ ํ™•์ธํ•œ๋‹ค.

IllegalArgumentException ์„ catch ํ•˜๋ฉด ๋ ๊ฒƒ๊ฐ™๋‹ค

 

  @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());
  }

 

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ™”๋ฉด์—์„œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ + ์„œ๋ฒ„์—์„œ๋„ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ•ด์„œ ์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋”๋ผ๋„ ์›ํ•˜๋Š” ์—๋Ÿฌ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•