• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

rest api 관련 질문

20.10.14 15:11 작성 조회수 215

0

안녕하세요, rest api 호출 테스트 중인데, 실제 내용 대신 html 코드가 반환되고 있어 질문드립니다.

예를 들어, 아래 그림과 같이 localhost:8080/blog/post/1/에 접속하면 화면이 제대로 뿌려지고,

postman으로 localhost:8080/blog/post/1/에 get요청을하면, html 코드가 반환됩니다. 

views.py에 반환 코드 관련 추가 코딩이 필요한지 drf 도입이 필요한지 질문드립니다!

감사합니다.

답변 8

·

답변을 작성해보세요.

0

남상준님의 프로필

남상준

질문자

2020.10.15

무슨 의미인지 잘 알겠습니다. 이른시간 답변 감사드립니다.

0

지금까지는 개발자들이 drf 를 많이 사용하고 있어서 그렇게 알고 있는 거 같습니다.

그리고 API 전용 서버인 경우는,

URL 하나에 post/get/put/delete method 에 따라 CRUD 기능을 구현하는 게 일반적 입니다.

그래서 저는 API 서버가 아니라, 보통의 장고 애플리케이션을 개발하는 것이라면,

클래스형뷰로 구현하는 것을 추천하고 있습니다.

독자님도 drf 경험이 있으므로 공부하면서 비교해 보기 바랍니다.

저는 이 방식이 drf 보다 쉽고, 좀 더 장고 스럽다고 생각하고 있습니다.

물론 별도로 drf 를 공부하지 않아도 된다는 점이, 공부를 시작하는 분에게는 큰 장점이 될 것 이구요.

0

남상준님의 프로필

남상준

질문자

2020.10.14

꼭 그렇지 않습니다. URL을 고정하고 메소드를 바꾸는게 일반적이라고 현재 제가 알고 있어서요. 사소하지만, URL이 많아질수록 각각 CURD가 필요한경우 4개씩 추가하는 부분이 있고 api 인터페이스 설계 후, 설득을 해야하는 입장이기도 합니다. 대충 예상되는 질문이 restapi인데 왜 메소드로 구현하지 않았느냐 입니다.

admin tool개발을 django - vue.js로 만들고 있으며, 현재 예상되는 url종류는 4개입니다. 이정도면 CRUD의 URL이 달라도 크게 상관없겠죠? 사용자는 django 웹사이트를 이용하고 rest api는 오픈소스 request를 위한 추가입니다. 

샘플 코드의 api 앱에 drf를 추가해봤는데 동작하는거 정도만 확인했습니다. 강의에 drf 를 제외한 이유가 있으실거 같고 잘몰라서 가능하면 강의대로 진행해보고자 질문드렸었습니다.

0

클래스형 뷰로 기능을 구현하는 방법이 설명되어 있습니다.

drf 와는 다르게, Create/Read/Update/Delete 모두 URL 이 다릅니다.

혹시 URL 을 동일하게 해야만 하는 이유가 있는지요 ?

0

남상준님의 프로필

남상준

질문자

2020.10.14

답변 감사드립니다. 강의를 다보지 않고 질문드려 죄송스러운데요. 혹시 drf를 쓰지 않고 동일 url에 method만 바꿔 request 했을때, urls.py, views.py에서 처리하는 부분도 강의에 포함되었을까요?

0

독자님. 강의를 들어보면 알게 될 텐데요.

ccbv.co.uk 사이트를 참고해서, 필요한 get/post/put/delete 메소드 등을 오버라이딩 하면 됩니다.

감사합니다.

0

남상준님의 프로필

남상준

질문자

2020.10.14

안녕하세요 추가질문 드립니다.

rest의 get 외의 method 구현을 api 앱에서 하는 경우 어떻게 하면 될지 문의드립니다.

0

남상준님의 프로필

남상준

질문자

2020.10.14

앗 죄송합니다. api 앱이 따로 있었네요.

아래로 요청하니깐 잘됩니다.

http://127.0.0.1:8000/api/post/1