Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. def search = Action(parse.json) { request =>
  2. val sR = request.body.validate[SearchRequest]
  3. sR.fold(
  4. errors => {
  5. BadRequest(Json.obj("status" -> "KO", "message" -> JsError.toJson(errors)))
  6. },
  7. searchRequest => {
  8. Logger.debug(s"searchRequest is $searchRequest")
  9. val sr = SearchResults(10)
  10. Ok(Json.toJson(sr))
  11. }
  12. )
  13. }
  14.  
  15. IsGreaThan
  16. IsLessThan
  17. EqualTo
  18.  
  19. case class SearchRequest(operator: String)
  20.  
  21. object SearchOperator extends Enumeration {
  22. type SearchOperator = Value
  23.  
  24. val IsGreaThan = Value("IsGreaThan")
  25. val IsLessThan = Value("IsLessThan")
  26. val EqualTo = Value("EqualTo")
  27. }
  28.  
  29. case class SearchRequest(lhs: Int, operator: SearchOperator, rhs:Int)
  30.  
  31. object SearchRequestJson {
  32. implicit val soReads = Reads.enumNameReads(SearchOperator)
  33. implicit val srReads = Json.reads[SearchRequest]
  34. }
  35.  
  36. { "lhs": 42, "operator": "NotEqualTo", "rhs": 44 }
  37.  
  38. JsError(
  39. List(
  40. (/operator, List(
  41. ValidationError(
  42. List(error.expected.enumstring),
  43. WrappedArray()
  44. )
  45. ))
  46. )
  47. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement