2016-08-23 57 views
1

我想知道是否有任何方法在我的Play框架REST API上进行POST调用,而在调用中没有任何JSON。玩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中更改调用,或者使用JSON中的userId和promoId进行调用,我希望避免。

谢谢!

+0

你可以发布你的动作代码吗? – Mikesname

+0

def addPromotionToUser(userId:Option [String],promoId:Option [String]):Action [AnyContent] = Action.async {...} 我问任何JSON的方法 – guigui

回答

0

请检查您是否在请求中设置了任何内容类型。还要检查如何在操作方法内处理请求,例如使用request.body.as<XXX>等。

如果您的POST请求未使用json作为数据负载,则可以使用表单从请求中绑定。在这种情况下,请确保您已在请求中设置了Content-Type: application/x-www-form-urlencoded。有时,请求中设置适当的内容类型标题无关紧要。这完全取决于POST请求如何由控制器操作方法/ API端点处理。

+0

哦,那只是简单那在呼叫中的内容类型-_-非常感谢你!现在确实有效! :) – guigui