我想知道是否有任何方法可以在我的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,我想避免使用。
谢谢!
答案 0 :(得分:0)
请检查您是否在请求中设置了任何内容类型。还要检查在操作方法中如何处理请求,例如使用request.body.as<XXX>
等。
如果您的POST请求未使用json作为数据有效负载,则可以使用从请求绑定的表单。在这种情况下,请确保在请求中设置了Content-Type: application/x-www-form-urlencoded
。有时,在请求中设置正确的内容类型标头并不重要。这完全取决于控制器操作方法/ API端点如何处理POST请求。