2016-08-23 8 views
1

呼び出しでJSONがなくても、PlayフレームワークREST APIでPOST呼び出しを行う方法があるかどうかを知りたかったのです。Play Scala - JSONなしのPOSTメソッドを持っています

私はあなたがデータベースに何かを作成した場合、その後、あなたはPOST呼び出しを行う必要があるが、まだ私はそれがAPIに当たったとき、右に発生、この問題を持っていることをロジックでAPIを作ってるんだ:

Bad Request 

     For request 'POST /promotions/add/user?userId=41375&promoId=24265' 
[Invalid Json: No content to map due to end-of-input at [Source: [email protected]; line: 1, column: 0]] 

GETで呼び出しを変更するか、JSIでuserIdとpromoIdを使用して呼び出しを変更する必要があります。これは避けたいものです。

ありがとうございます!

+0

アクションコードを投稿できますか? – Mikesname

+0

def addPromotionToUser(userId:Option [String]、promoId:Option [String]):アクション[AnyContent] = Action.async {...} メソッド上の任意のJSONについて質問しません – guigui

答えて

0

コンテンツタイプをリクエストしてください。また、request.body.as<XXX>などのアクションメソッド内でリクエストがどのように処理されているかを確認してください。

POSTリクエストでjsonをデータペイロードとして使用していない場合は、リクエストからバインドするフォームを使用できます。その場合は、要求にContent-Type: application/x-www-form-urlencodedを設定していることを確認してください。要求に応じて適切なコンテンツタイプヘッダーを設定しても問題ありません。それはすべて、POST要求がコントローラーアクションメソッド/ APIエンドポイントによってどのように処理されるかによって異なります。

+0

それは、コールのコンテンツタイプです。-_-まあ、ありがとう!それは本当に今働く! :) – guigui

関連する問題