玩Scala - 拥有一个没有JSON的POST方法

时间:2016-08-23 09:02:54

标签: json scala playframework

我想知道是否有任何方法可以在我的Play框架REST API上进行POST调用,而无需在调用中使用任何JSON。

我正在使用逻辑制作API,如果你在数据库中创建了任何东西,那么你需要进行一次POST调用,但是我遇到了这个问题,当它遇到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: akka.util.ByteIterator$ByteArrayIterator$$anon$1@a5de52b; line: 1, column: 0]]

有没有办法或者我必须在GET中更改调用,或者在JSON中使用userId和promoId,我想避免使用。

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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