2011-11-09 11 views
0

私は、このコントローラがあります。Grailsの残りは要求

def list = { 

     withFormat { 

      xml { render Customer.list() as XML } 

      html { 
       params.max = Math.min(params.max ? params.int('max') : 10, 100) 
       [customerInstanceList: Customer.list(params), customerInstanceTotal: Customer.count()] 
      } 
     } 

    } 

基本的に私のWebページに私のすべての顧客を示しているが、また、残りの応答のためのXMLとして一覧表示することを目的としています。私はWizTools Rest Client 2.33を使ってリストメソッドを呼び出します。ここで起こっているのは、ブラウザ経由でコントローラを呼び出すと、すべて正常に動作し、すべての顧客がページにhtmlとしてリストされます。私が休憩によってそれを呼び出すと、私が得る応答は、同じhtmlページコードがレンダリングされたものです。上のコードでは、htmlパーツを取り出してみました。残りのレスポンスは、私が期待しているものです(xml)。だから、私はコントローラが残りの要求を認識できないので、何かが見当たらないかもしれないと思う。どんな助けもありがとう。

答えて

0

withのwithFormatの動作は、より良い用語が不足しているため、アクションの拡張子を調べることです。あなたは、XMLをHTMLの代わりに戻したい場合は、URLだようなものになる必要があるでしょう:

http://localhost/app/customer/list.xml

+0

OK。しかし、私は両方のHTMLと休息の要求を処理するコントローラをしたい。同じコントローラーで2つ。それは可能ですか? – recoInrelax

+1

私は、ヘッダーのコンテンツタイプを 'text/xml'に変更しました。現在はうまくいきます。 – recoInrelax

+0

実際にはcontent-typeヘッダーを使用することが重要です。http://www.grails.org/doc/1.3.7/guide/single.html#6.8%20Content%20Negotiationを参照してください。あなたはそれを適切な答えで記述することができますか? –

関連する問題