개발 공부/Spring

Rest / Ajax 댓글처리

공부하는개발자_ 2023. 9. 4. 21:49

 

RestController는 data를 돌려줄 수 있다.

text데이터인데, 일반형식. (마인타입?) 

 

 

http프로토콜은 객체로 전달 불가. 객체가 문자로 바껴서 전달됨.

 

Json으로 받고싶은경우

XML과 JSON 둘다 지원하는 경우, 

 

sample.json으로 요청하면 json방식으로 나옴

getSample로 요청하면 xml방식으로 나옴

아래와같이 procuduer가 생략된 경우 두 가지 다 가능!

 

 

 

 

 

Key값과 Value값이 붙어 있다

 

Header에 있는 정보를 다루기 위해서 responseEntity를 이용할 수 있다.

객체를 돌려줄때는 xml이나 json타입으로 문자열화 되어 전달된다

배열, 컬렉션 형태로 돌아갈때는 그에 해당하는 구조로 변환되어 돌아간다

 

 

 

인자가 클라이언트에서 넘어오는 것을 받아 줄 수 있도록 써줘야함.

Mapping에서 전달되는 형태와 pathVariable에서 사용하는 이름과 일치해야 데이터를 받을 수 있음

매개변수명과 경로의 저 변수명 같으면 매개변수에서는 ("") 생략가능 

 

 

get / post 는 전달하는 HttpRequest부분이 차이가 있다.

get 

Request요청 명령줄 

GET /board/list?pageNum=1&amount=10 HTTP/1.1

 

Content-type: text/html

(n개의 헤더정보가 들어감. 헤더정보는 한줄에 한개씩 여러줄 들어갈 수 있다. 헤더정보가 끝나면 공백라인이 2줄 나와야함)

hhhh:jjjjj

 

-> RequestBody가 나오는데 GET방식은 body가 없다. POST만 가능

 

 

POST/ board/list HTTP/1.1

Content-type: text/html 

hhhh:jjjjj

 

pageNum=1&amount=10 (RequestBody)

post는 url에 파라미터 안들어감.

 

 


Ajax댓글

 

 

table생성

create table tbl_reply(
rno number(10,0),
bno number(10,0) not null,
reply varchar2(1000) not null,
replyer varchar2(50) not null,
replyDate date default sysdate,
updateDate date default sysdate);

create sequence seq_reply;

alter table tbl_reply add constraint pk_reply primary key (rno);

alter table tbl_reply add constraint fk_reply_board
foreign key(bno) references tbl_board(bno);

 

INSERT INTO tbl_reply(rno, bno, reply, replyer)
VALUES(seq_reply.nextval, 55, '댓글내용', '작성자')


commit;

댓글은 어떤 하나의 글을 선택했을때 댓글을 보여준다.

 

업데이트 되는 항목은 2가지 뿐이다.

 

글에대한 전체 댓글을 조회하고 싶은 경우

 

어느글에 대한 댓글이 필요하기때문에 bno필요

rno로 sort하는 것은 성능에 영향에 미치지 않음.

where절에 bno로 < , >로 소팅할 경우는 느려질 수 있으나, =는 다르다.

두 부분이 일치 해야함.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


댓글 목록 만들기

 

댓글 달기 버튼만들기

id는 유일성이 보장 되어야 한다.

 

onClick은 한 가지 등록할 수 있고, addEventListner는 여러가지를 등록할 수 있다.

 

모달 태그 소스를 가져옴

 

 

댓글을 한 줄만 달고 싶은 경우, <input>을 쓰고 여러 줄 달고 싶은 경우 <textarea>를 쓰면 된다.

서버로 전달해야 할 이름을 name속성에 준다.

 

 

 

 

매개변수가 없는경우 undefined가 되서, 1을 넣겠다는 의미.

 

 

 

댓글의 li태그에 이벤트를 걸고 싶은 경우, li태그에 id부여하고 이벤트 처리 방식

멀티플하게 객체에 다 걸고 싶으면, 

this가 li로 됨

 

data값을 rno로 바꾸고 댓글을 클릭하면 댓글 번호가 뜸.

 

 

등록된 댓글 클릭했을 때 수정하기

400번대 오류는 클라이언트 측에서 문제 있는 경우가 대부분.

'개발 공부 > Spring' 카테고리의 다른 글

AOP / Transaction  (0) 2023.09.07
댓글의 페이징처리/ 댓글  (0) 2023.09.06
검색  (0) 2023.09.01
페이징 처리  (0) 2023.08.31
실습  (0) 2023.08.30