My footsteps
RestController / 2 본문
728x90
- 맵을 쓰는 이유: 리스트만 넣으면 리스트만 넣는건데 맵을 쓰면 리스트랑 다른거랑 같이 넣을수 있기 때문에
<script>
window.addEventListener("load", function(e){
let tabSection = document.querySelector(".tab-section");
let menuListSection = document.querySelector(".menu-list-section");
let menuList = menuListSection.querySelector(".menu-list");
tabSection.onclick = function(e){
e.preventDefault();
if(e.target.tagName!=='A')
return;
fetch(`http://localhost:8080/api/menus?c=${e.target.dataset.id}`)
.then (response=>response.json())
.then(json=>{
console.log(json);
//방 비우고
menuList.innerHTML = "";
//아이템 채우고
})
}
});
</script>
let itemTemplate = `<section class="menu">
<div>
<a href="detail" >
<img src="/image/espresso.svg" alt="에스프레소" />
</a>
</div>
<h1>에스프레소</h1>
<h2>Espresso</h2>
<div>2,500원</div>
<div>
<a href=""class="icon icon-heart"></a>
</div>
<div>
<a href="" class="icon icon-plus icon-lg">추가</a>
<a href="" class="icon icon-cart icon-lg">장바구니</a>
</div>
</section>`
menuList.insertAdjacentHTML("beforeend",itemTemplate);
menulist가 타켓이고 걔한테 문자열을 넣으려고 하는데 걔의 윗부분에 자식으로 넣고싶으면 beforeend 을 쓴다
- 콘텐츠는 무조건 text다 varchar 아님
- 목록을 가져올때는 view를 만들어야 한다
- 뷰를 만들때 이름은 주인공 테이블 이름으로 쓴다
//멤버아이디 1이 메뉴 6번을 좋아요 했는데
좋아요 하면 1이고 안누르면 0인거다
SELECT
m.id,
m.kor_name,
m.eng_name,
m.price,
m.img,
m.reg_member_id,
m.category_id,
(select 1 from menu_like where member_id=1 and menu_id=m.id) `like` -- 0 or 1
from menu m ;
- 첫페이지만 타임리프로
- 문서를 내놓지 않고 데이터만 내놓는것 = rest
- return list 하면 (데이터반환)
728x90
'국비수업 > 수업정리' 카테고리의 다른 글
RestController / 4 (0) | 2023.06.20 |
---|---|
RestController / 3 (0) | 2023.06.19 |
RestController (0) | 2023.06.15 |
스프링 / 11 (0) | 2023.06.14 |
스프링 / 10 (0) | 2023.06.13 |