Django REST 프레임 워크의 초보자이며 조언이 필요합니다. 웹 서비스를 개발 중입니다. 서비스는 다른 서비스에 REST 인터페이스를 제공해야합니다. 구현 해야하는 REST 인터페이스가 모델에서 직접 작동하지 않습니다 (get, put, post, delete 작업을 의미합니다). 대신 다른 서비스에 일부 계산 결과를 제공합니다. 요청에 따라 내 서비스는 계산을 수행하고 결과를 다시 반환합니다 (결과를 자체 데이터베이스에 저장하지 않음).
아래는 REST 인터페이스를 구현하는 방법에 대한 이해입니다. 내가 틀렸다면 나를 바로 잡으십시오.
- 계산하는 클래스를 만듭니다. 이름을 'CalcClass'로 지정하십시오. CalcClass는 작업에 모델을 사용합니다.
- 계산에 필요한 매개 변수가 생성자에 전달됩니다.
- 계산 작업을 구현하십시오. 결과를 'ResultClass'로 반환합니다.
- ResultClass를 작성하십시오.
- 객체에서 파생됩니다.
- 계산 결과를 포함하는 속성 만 있습니다.
- 계산 결과의 한 부분은 튜플의 튜플로 표시됩니다. 내가 이해하는 것처럼, 추가 직렬화를 사용하면 해당 결과에 대해 별도의 클래스를 구현하고 이러한 객체 목록을 ResultClass에 추가하는 것이 좋습니다.
- ResultClass 용 시리얼 라이저를 작성하십시오.
- 시리얼 라이저에서 파생됩니다.
- 계산 결과는 읽기 전용이므로 IntegerField와 같은 특수 클래스 대신 필드에 주로 Field 클래스를 사용하십시오.
- 결과를 저장하지 않기 때문에 ResultClass 나 Serializer에 save () 메서드를 impl해서는 안됩니다 (요청시 반환).
- 중첩 된 결과를위한 Impl 시리얼 라이저
- 계산 결과를 반환하려면보기를 만듭니다.
- APIView에서 파생하십시오.
- get () 만 있으면됩니다.
- get ()에서 요청에서 검색된 매개 변수를 사용하여 CalcClass를 작성하고 calc ()를 호출하고 ResultClass를 가져온 후 Serializer를 작성하고 ResultClass를 전달하고 Response (serializer.data)를 리턴하십시오.
- URL
- 내 경우에는 api 루트가 없습니다. 다양한 calc 결과 (diff 매개 변수가있는 calc)를 얻으려면 URL이 있어야합니다.
- API 브라우징을 위해 호출 format_suffix_patterns를 추가하십시오.
내가 뭐 놓친 거 없니? 접근법이 일반적으로 맞습니까?