Я пытаюсь определить веб-сервис, используя Scalatra, где параметры передаются в теле, желательно в виде JSON, а не в URL-адресе, как сейчас.
Итак, я бы хотел, чтобы этот тест прошел, но закомментированный код — это то, что в настоящее время проходит. Код без комментариев не является JSON, но я также не уверен, как передать JSON для тестирования, поскольку put
требует Iterable во втором параметре.
class WebAppSpec extends MutableScalatraSpec {
addServlet(classOf[WebApp], "/*")
"PUT /phaseupdate" should {
"return status 200" in {
//put("/phaseupdate/test1/address1/starting/10") {
put("/phaseupdate", Map("filename" -> "test1", "entryaddress" -> "address1","name" -> "starting","percentcomplete" -> "10")) {
status must_== 200
}
}
}
Мое текущее определение, которое неверно, таково:
put("/phaseupdate/:filename/:entryaddress/:name/:percentcomplete") {
val filename = params("filename")
val entryaddress = params("entryaddress")
val name = params("name")
val percentcomplete = params("percentcomplete")
Итак, как мне определить мой сервис put
, чтобы он просто вызывал его с помощью PUT /phaseupdate
и имел параметры в теле?
В основном я пытаюсь ограничить то, что входит в журнал доступа к веб-серверу.