2017-10-13 4 views
4

J'ai un service qui a un endpoint de vente. Je veux pouvoir accéder à l'url param ainsi qu'au corps. Comment puis-je y parvenir.Comment gérer les demandes de put dans Finatra?

Ceci est mon point final:

put("/:customerNum") { foo: Foo => 
    val custNum = ??? 
    } 

Comment accéder NumClient?

Répondre

1
put(/ string) { (customerNumber: String) => 
    s"$customerNumber!" 
    } 
+0

De cette façon, je ne vais pas avoir accès à l'objet « foo ». Je veux à la fois l'objet foo et le paramètre url – deep

2

Voici comment vous pouvez extraire les choses liées à request:

put("/:customerNum") { request => 
     // Get request body 
     val body = request.getContentString 
     // Get content type 
     val contentType = request.contentType 
     // Get customer number 
     val customerNum = request.routeParams.get("customerNum") 

     println(s"Customer number: ${customerNum}. Content Type: $contentType. Body: $body") 
     render.plain("ok").toFuture 
    }