मैं का उपयोग कर Django में एक साधारण REST एपीआई हैrest_framework। मैंने djangorestframework- ऊंट-केस प्लगइन जोड़ा और अपने REST_FRAMEWORK कॉन्फ़िगरेशन को अपडेट किया और REST API उचित ऊँट का उत्पादन करता है। हालाँकि, जब मैं परीक्षण कर रहा हूँ unittest (python manage.py test app.test
), परिणाम camelCase के बजाय snake_case में हैं और मेरे दावे को विफल करने का कारण बनते हैं।
इस कांटे का उपयोग: https://github.com/rense/djangorestframework-camel-case
REST_FRAMEWORK = {
"DEFAULT_PERMISSION_CLASSES": (
"rest_framework.permissions.DjangoModelPermissions",
),
"DEFAULT_AUTHENTICATION_CLASSES": (
"rest_framework.authentication.SessionAuthentication",
"rest_framework.authentication.TokenAuthentication",
),
"DEFAULT_FILTER_BACKENDS": ("rest_framework.filters.DjangoFilterBackend", "rest_framework.filters.OrderingFilter"),
"DEFAULT_RENDERER_CLASSES": ("djangorestframework_camel_case.render.CamelCaseJSONRenderer",),
"DEFAULT_PARSER_CLASSES": ("djangorestframework_camel_case.parser.CamelCaseJSONParser",),
"TEST_REQUEST_RENDERER_CLASSES": ("djangorestframework_camel_case.render.CamelCaseJSONRenderer",),
"TEST_REQUEST_PARSER_CLASSES": ("djangorestframework_camel_case.parser.CamelCaseJSONParser",),
"TEST_REQUEST_DEFAULT_FORMAT": "json",
}
क्या मुझे कुछ अतिरिक्त कॉन्फ़िगरेशन जोड़ने की आवश्यकता है? क्या यह djangorestframework में एक बग है? Djangorestframework- ऊंट-केस में?
उत्तर:
उत्तर № 1 के लिए 1समस्या आपकी परीक्षण फ़ाइल में हो सकती है।
मान लीजिए कि आपके परीक्षणों में कुछ है:
client = APIClient()
response = client.get("some_url", format="json")
प्रतिक्रिया वस्तु ए होगी data
पैरामीटर जो स्नेक_केस होगा, और ए content
जो कैमलकेस होगा।
response.data # will contain snake_case keys
json.loads(response.content) # will contain camelCase keys
सुनिश्चित करें कि आप सही प्रतिक्रिया पैरामीटर के खिलाफ अपने दावे को चला रहे हैं।