물에 살고싶은 개발자

[RESTFUL] http통신시 4가지 메소드방식에 파라미터 보내는 방법 본문

C#

[RESTFUL] http통신시 4가지 메소드방식에 파라미터 보내는 방법

돼지사랑 2016. 7. 20. 20:22

하...하찮은 선입견떄문에 하루종일 삽질을했다...

구글링을 하는데도 안나오는탓에 왜 이런 기초적인 정보가 없나 하고 ㅂㄷㅂㄷ했었는데

이유가 있었다..


결론부터 말하자면 


4가지 방식 전부 URL로 파라미터 날리면 된다.


아무튼 본론


Rest ful하게 구조를 짜기위해선 일단

4가지 Http 메소드방식을 써야한다.

자세한 얘기는 알아서들 restful이라고 구글링 하시면 자료 엄청 나오니 생략하고


GET,POST,PUT,DELETE 이렇게 4개의 메소드방식인데,

(보안관련된건 제외하고)

GET과 POST는 파라미터를 보내는 방식이 다르다..정도는 스프링책 한권정도만 읽어도 

쉽게 알수있는 사실이다.


GET방식같은경우는 URL에 실어서 보내는 방식인데,


http://localhost:포트번호/경로?param1=value1&param2=value2&.....


이런식으로 하면 된다.


POST같은경우엔 


파라미터 인코딩 후

Stream postDataStream = wReqFirst.GetRequestStream();

postDataStream.Write(argument, 0, argument.Length);

postDataStream.Close();


이런식이다.


그.런.데!!


내 하찮은 선입견이 "PUT과 DELETE는 POST랑 같은방식일것이다." 라고 생각을 하게 만들었고...POST와 같은 방식으로 했더니 파라미터 전송이 안됐다..!!

여기서 또 편견에 의해 "아..!! DELETE와 PUT은 다 나름대로 방식이 있나보구나" 라고 생각하고 열심히 DELETE와 PUT방식 파라미터 전송방법에 대해 구글링을 했다.

(무려 하루종일...ㅂㄷㅂㄷ)


도저히 답이 안나와서 옥히와 페북생활코딩에 질문글을 올렸는데,,,,생코선배님들의 답변에

뒤통수를 얻어맞은것같은 그느낌...


POST를 제외하고(POST도 가능하긴함) 전부 URL방식으로 파라미터 던지면 된다네...ㅎㅎㅎ

얨병 ㅎㅎㅎㅎ


결국 URL방식으로 해결했다..

4가지 전부 통일하는걸로..ㅎㅎ


아오!! 끝

Comments