마지막으로 관심상품 등록하기에서 마무리 못한 최저가 설정 기능을 만들어보자
관심상품 등록하기를 위한 모달까지는 띄웠지만 최저가를 설정해주는 기능이 없었다.
크롬 개발자 도구에서 해당 버튼을 확인하면 setMyprice() 기능을 구현해야 한다는걸 알 수있다.
setMyprice 에서는 #myprice 에서 입력값을 받아 유효성 처리를 해주고
addProject() 에서 response.id 값을 targetId에 넣어줬으니 이걸 key값인 칼럼의 myprice에 #myprice 를 넣어줘야 한다.
static > basic.js
function setMyprice() {
let myprice = $('#myprice').val();
// 1. id가 myprice 인 input 태그에서 값을 가져온다.
if (myprice == ''){
alert('값을 입력해주세요');
$('#myprice').focus;
return;
}
// 2. 만약 값을 입력하지 않았으면 alert를 띄우고 중단한다.
$.ajax({
type: "PUT",
url: `/api/products/${targetId}`,
contentType: "application/json",
data: JSON.stringify({myprice: myprice}),
success: function (response) {
// 4. 모달을 종료한다. $('#container').removeClass('active');
$('#container').removeClass('active');
// 5. 성공적으로 등록되었음을 알리는 alert를 띄운다.
alert('성공적으로 등록되었습니다.');
// 6. 창을 새로고침한다. window.location.reload();
window.location.reload();
}
})
}
이제 setMyprice 에서 ajax로 가져온 id 의 myprice 값을 controller를 통해 업데이트 해준다.
controller > ProductRestController.java
// 설정 가격 변경
@PutMapping("/api/products/{id}")
public Long updateProduct(@PathVariable Long id, @RequestBody ProductMypriceRequestDto requestDto) {
return productService.update(id, requestDto);
}
'나만의 select shop 만들기' 카테고리의 다른 글
스케줄러 만들기 (0) | 2020.12.09 |
---|---|
관심 상품 보여주기 (0) | 2020.12.08 |
관심 상품 등록하기 (0) | 2020.12.08 |
상품 검색 기능 만들기 (0) | 2020.12.08 |
HTML, Css, 이미지파일 (0) | 2020.12.07 |