Marko Švaljek
Marko Švaljek

Reputation: 2101

Scala Play app not loading forms

I have a simple setup:

routes:

# creates new ticket
PUT     /projects/:projectId/tickets    controllers.ProjectsController.add(projectId)

App Controller code looks like:

case class TicketData(ticketId: Option[String], ticketName: String, ticketDescription: String)

val addUpdateForm = Form(
mapping(
  "ticketId" -> optional(text),
  "ticketName" -> text,
  "ticketDescription" -> text
)(TicketData.apply)(TicketData.unapply))

def add(projectId: String) = Action { implicit request =>
  val ticket = addUpdateForm.bindFromRequest.bindFromRequest.get

  Ok(Json.toJson(cassandraClient.addTicket(projectId, ticket.ticketName, ticket.ticketDescription)))
}

When I try to send a req from postman (tried several combos, I have no oauth) I just always get 403 ... there is nothing really useful in logs:

[debug] i.n.u.i.JavassistTypeParameterMatcherGenerator - Generated: io.netty.util.internal.__matchers__.io.netty.channel.ChannelMatcher
[debug] i.n.u.i.JavassistTypeParameterMatcherGenerator - Generated: io.netty.util.internal.__matchers__.io.netty.handler.codec.http.HttpObjectMatcher
[debug] i.n.u.i.JavassistTypeParameterMatcherGenerator - Generated: io.netty.util.internal.__matchers__.io.netty.handler.codec.http.HttpContentMatcher

I'm missing something here and have no idea what to be honest.

Upvotes: 1

Views: 59

Answers (1)

Andriy Kuba
Andriy Kuba

Reputation: 8263

It looks like you have a problem with the CORS configuration.

To verify it just allow every request (in application.conf):

play.filters.cors {
  pathPrefixes = ["/"]
  allowedOrigins = null
  allowedHttpMethods = ["GET", "POST", "PUT", "DELETE"]
  allowedHttpHeaders = null
} 

This post looks very similar:

Trouble-shooting CORS in Play Framework 2.4.x

Upvotes: 1

Related Questions