gpt4 book ai didi

scala - Playframework Scala - 删除路由问题

转载 作者:行者123 更新时间:2023-12-02 01:39:23 24 4
gpt4 key购买 nike

我正在使用 playframework 完成大学的期末项目,在路由删除或放置方法时遇到问题。 当我请求 DELETE 或 PUT 方法时,我得到:

[info] play.api.Play - Application started (Dev) [debug] a.ErrorHandler - onClientError: statusCode = 404, uri = /Rest/deleteCity, message ="

我的 JQuery ajax 调用是:

$("#scalaDelete").click(function(){
$("#result").empty();
$.ajax({
url: "http://localhost:9000/Rest/deleteCity",
method: "DELETE",
data: {city: "Alvorada"},
dataType: "json",
success: function(result){
$("#result").append("Result: "+result.Result);
},
error: function (request, status, error) {
alert(status);
}
});
});

我的路线 游玩路线:

DELETE       /Rest/deleteCity       controllers.RestController.deleteCity()

我的 Controller 方法:

case class UserDelete(city:String)
class RestController @Inject()(db: Database, cc: ControllerComponents) extends AbstractController(cc) {

val userDeleteForm = Form(
mapping(
"city" -> text
)(UserDelete.apply)(UserDelete.unapply)
)

def deleteCity = Action{ implicit request=>
val userPar = userDeleteForm.bindFromRequest.get
//DatabaseDelete

Ok(jsonResult)
}

}

我已经在 Chrome 中激活了跨域,并使用了 CORS 扩展。

感谢您的帮助

最佳答案

这似乎与 Restful http delete in play 有关,即删除数据可能是粗略的。

我不会传递数据,而是将其移动到网址:

DELETE       /Rest/deleteCity/:city   controllers.RestController.deleteCity(city: String)
# or with a query string
DELETE /Rest/deleteCity controllers.RestController.deleteCity(city: String)

然后做

http://localhost:9000/Rest/deleteCity/Alvorada
# or with a query string
http://localhost:9000/Rest/deleteCity?city=Alvorada

我个人更喜欢后者。

关于scala - Playframework Scala - 删除路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46899750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com