2017-03-20 15 views
1

フォームをロードしていないアプリを再生するはScalaの私は、簡単なセットアップを持っている

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

のAppコントローラコードが見えます:私は郵便配達からのreqを送信しようとすると

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))) 
} 

[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 
012:ログには本当に便利なものは何もありません...私はいつも403を取得する(しようとしたいくつかのコンボは、私はOAuthのを持っていません)

私はここで何かが欠けていると正直に言うと何見当がつかないよ。

+1

は、あなたがお使いのブラウザ経由で動作するように、単純なGETを取得することがありますちょうど(application.confに)すべての要求を許可することを確認するために

Postmanを試す前に? POSTはどうですか?郵便配達員の問題を排除するだけです。郵便配達の設定は正しいですか?あなたがやっていることは正しいようだ、と私は、単純なGET/POST/PUTを取得するために、CORSを設定する必要はありませんでした/私の側で動作するように削除します。私は郵便配達員に問題がありましたが、必要な設定がわかるまでは。 – Mule

+0

シンプルなGETは、私はシンプルなカールのを試してみて、あなたはそれが行った方法を知ってもらおう...(他のパスのために)働いていました。 –

+0

あなたが正しかった、私はシンプルなカールのを試してみましたが、すべてが魔法のように動作します。郵便配達員は問題でした! –

答えて

1

あなたがCORSの設定に問題があるように見えます。

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

このポストは非常に似ています:

Trouble-shooting CORS in Play Framework 2.4.x

+0

私は既にフィルタを使用していますが、このようなことを試しましたが動作しません。夕方にロギングフィルタを追加してみると、追加の詳細を提供できるかどうかがわかります。現時点では機能していません。 –

+0

あなたの 'application.conf'に' play.filters.cors.allowedOrigins = null'がありますか? –

+0

はい、バックエンドプロジェクトなので、すでにそこにいくつかのものがありましたが、全体を削除してnullに設定すると、同じことができます。あなたが提供したのとまったく同じconfで試しました。 –

関連する問題