-------------------Controller-----------------------
@DeleteMapping("/item" )
public ResponseEntity<String> itemDelete(@RequestParam Long id, @RequestParam String writer){
Optional<Item> result = itemRepository.findById(id);
System.out.println(result.get().getWriter());
System.out.println(writer);
if(writer.equals(result.get().getWriter())){
itemRepository.deleteById(id);
return ResponseEntity.status(200).body("삭제완료");
} else {
return ResponseEntity.status(200).body("본인의 게시물만 삭제 가능");
}
}
-----------------------html---------------------------
<button th:onclick="fetch(
'/item?id=[[${element.id}]]&writer=[[${element.writer}]]',
{method : 'DELETE'})
.then(r => r.text())
.then(() => {
location.reload();
})
">삭제</button><br><br>
----------------------------상황설명-----------------
writerName이 같아야 삭제 가능하도록 기능 만드는중입니다.
이렇게 쿼리스트링으로 받아오고 db에 있는 값과 파라미터로 받아온 값을 둘 다 sout로 출력해보면 위에껀 "gdd" 라고 출력되고 아래는
gdd (큰 따옴표 있고 없고 차이) 라고 출력 되더라고요 근데 둘 다 타입 확인해보면 string으로
일치한데 직접 두개가 일치한지 확인해보면 false라고 뜨고... 어떻게 해야될까요?? 큰 따옴표 차이인가요? 그렇다면 큰 따옴표 왜 뜨는지좀 알려주세요
-
이 게시글은
송지오에 의해 1 년, 1 월 전에 수정됐습니다.