問題
Django REST Framework を使って API を作成中、Javascript から POST または DELETE リクエストを送ろうとした結果「POST(リクエスト先 URL) 415 (Unsupported Media Type)」のエラー表示。
*DELETE の場合も同じエラーが出ます。
原因
リクエストヘッダーに Content-Type がなかったのが原因。
解決方法
元々↓だったヘッダー部分に…
fetch('http://example.com/exampleapi', { method: 'POST', headers:{ "X-CSRFToken": getCookie('csrftoken') body: JSON.stringify({ 'username': 'example'}) } )
↓の様に Content-Type を追加したら解決しました。
fetch('http://example.com/exampleapi', { method: 'POST', headers:{ "X-CSRFToken": getCookie('csrftoken'), 'Content-Type': 'application/json'} // 追記分 body: JSON.stringify({ 'username': 'example'}) } )
DELETE の場合も同じ方法で解決しました。