Spring Framework

나만의셀렉샵) 최저가 변경 API 완성하기

na_o 2021. 8. 2. 20:01
728x90

* 최저가를 변경하는 API 완성하기

힌트)

- basic.js > setMyprice 완성

- ProductRestController.java > @PutMapping, ProductMypriceRequestDto 활용하기

 

/*basic.js*/

function setMyprice() {
    /**
     * 숙제! myprice 값 설정하기.
     */
    //1. id가 myprice 인 input 태그에서 값을 가져온다.
    let myprice = $("#myprice").val();
    //2. 만약 값을 입력하지 않았으면 alert를 띄우고 중단한다.
    if(myprice == "") {
        alert("가격을 설정하지 않았습니다.");
        return ;
    }
    //3. PUT /api/product/${targetId} 에 data를 전달한다.
    $.ajax({
        type: "PUT",
        url: `/api/products/${targetId}`,
        contentType: "application/json",
        data: JSON.stringify({"myprice": myprice}),
        success: function (response) {
            //4. 모달을 종료한다.
            $('#container').removeClass('active');
            //5, 성공적으로 등록되었음을 알리는 alert를 띄운다.
            alert("성공적으로 등록되었습니다.");
            //6. 창을 새로고침한다.
            window.location.reload();
        }
    });

}

 

/*ProductRestController.java*/

package com.sparta.week04.controller;

...

@RequiredArgsConstructor
@RestController
public class ProductRestController {

	...
    
    @PutMapping("/api/products/{id}")
    public Long updateProduct(@PathVariable Long id,
                              @RequestBody ProductMypriceRequestDto requestDto) {
        return productService.update(id, requestDto);
    }

}