2015-04-16 3 views
1

Je voulais utiliser un point de décision :media-type-available? mais j'échoué ...Liberator: Paramètre: représentation: media-type dans: media-type-available?

Je sais que je dois mettre la :representation :media-type mais je ne sais pas vraiment comment le faire.

Jusqu'à présent, mon code semble que:

(defresource test-resource [] 
    :media-type-available (fn [req] 
    (assoc req :representation {:media-type "application/json"})) 
    :available-media-types ["application/json" "text/html"] 
    :handle-ok (fn [req] {:ok true}) 
) 

Remarques:

  1. (assoc req :representation {:media-type "application/json"}) produit une carte correcte avec "changé" objet req.
  2. dans l'objet req de :handle-ok, la valeur :representation est {}

Je ne sais pas comment le configurer (ce n'est pas un objet mutable, est-il?) Et en regardant le code source du Libérateur ne vraiment aider ...

Merci, Karol

Répondre

0

OK ... Il était juste une faute de frappe ... Au lieu de :representation j'avais :represenation ...

Donc, si toute personne intéressée, il y a deux façons de résoudre ce:

  1. retour d'objet req avec fusionné :representation:

    :media-type-available (fn [req] 
        (assoc req :representation {:media-type "application/json"})) 
    
  2. retour seulement l'objet :representation:

    :media-type-available (fn [req] 
        {:representation {:media-type "application/json"}})