1 2 3 4 5 6 7 8 9 10 11 12 13 | import grails.converters.* class AirportController{ def xmlList = { render Airport.list() as XML } def xmlShow = { render Airport.get(params.id) as XML } //... the rest of the controller } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | def customXmlList = { def list = Airport.list() render(contentType:"text/xml"){ airports{ for(a in list){ airport(id:a.id, iata:a.iata){ "official-name"(a.name) city(a.city) state(a.state) country(a.country) location(latitude:a.lat, longitude:a.lng) } } } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $ curl --request HEAD --verbose http://localhost:9090/trip/airport/list * About to connect() to localhost port 9090 (#0) * Trying ::1... connected * Connected to localhost (::1) port 9090 (#0) > HEAD /trip/airport/list HTTP/1.1 > User-Agent: curl/7.16.3 (powerpc-apple-darwin9.0) libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3 > Host: localhost:9090 > Accept: */* > < HTTP/1.1 200 OK < Content-Language: en-US < Content-Type: text/html; charset=utf-8 < Content-Length: 0 < Server: Jetty(6.1.4) < * Connection #0 to host localhost left intact * Closing connection #0 |
1 2 3 4 5 | def debugAccept = { def clientRequest = request.getHeader("accept") def serverResponse = request.format render "Client: ${clientRequest}\nServer: ${serverResponse}\n" } |
1 2 3 4 5 6 7 | $ curl http://localhost:9090/trip/airport/debugAccept Client: */* Server: all $ curl --header Accept:text/xml http://localhost:9090/trip/airport/debugAccept Client: text/xml Server: xml |
1 2 3 4 5 6 7 8 9 10 11 12 13 | grails.mime.types = [ html: ['text/html','application/xhtml+xml'], xml: ['text/xml', 'application/xml'], text: 'text-plain', js: 'text/javascript', rss: 'application/rss+xml', atom: 'application/atom+xml', css: 'text/css', csv: 'text/csv', all: '*/*', json: ['application/json','text/json'], form: 'application/x-www-form-urlencoded', multipartForm: 'multipart/form-data' ] |
1 2 3 4 5 6 7 8 9 10 11 12 | def list = { if(!params.max) params.max = 10 def list = Airport.list(params) withFormat{ html{ return [airportList:list] } xml{ render list as XML } } } |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |