[英]Django Rejecting POST with Firefox RESTClient & Jersey, Works with Chrome POSTMAN and curl
我對Django不太了解,但是我需要編寫一個與Django REST服務交互的客戶端。
GET適用於我嘗試過的所有4種界面:Chrome POSTMAN,Firefox RESTClient,Java的Jersey客戶端和curl。
Django在Jersey和RESTClient中以400 BAD REQUEST拒絕了POST,但在其他兩個中卻沒有。 不幸的是,最終的解決方案是使用Jersey,所以這是一個大問題。
我現在猜測是Django不喜歡的客戶端編碼,因此我希望有人可以告訴我POSTMAN和RESTClient之間的區別? (我在POSTMAN中將數據作為“原始” json發送)
這是我的球衣代碼:
Client client = Client.create();
WebResource resource = client.resource("rest service endpoint");
resource.header("Content-Type", "application/json");
resource.post("{"\name\":\"test\",\"age\":29}"); // Returns a 400 Bad request
將{“ name”:“ test”,“ age”:29}發布到Chrome即可。
謝謝您的幫助。
好的,我至少從澤西島弄清楚了。 做一個tcpdump揭示我的application / json頭沒有通過,所以我通過這樣做解決了這個問題。
WebResource.Builder resource = client.resource("web server").type(MediaType.APPLICATION_JSON);
然后它起作用了。 仍然不知道為什么這在REST Client中不起作用,所以如果有人知道,請告訴我!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.