2013-06-26 2 views
2

Есть ли способ настроить тип пантомимы по умолчанию для контроллера Spring MVC, который использует функцию содержания переговоров Spring, то естьПо умолчанию мима типа на контроллер для обсуждения содержимого Spring MVC в

ControllerA - Я хочу, чтобы тип мима по умолчанию будет JSON, так http://mycompany.com/myresourceA будет возвращать JSON, если я хочу XML я должен добавить расширение http://mycompany.com/myresourceA.xml

ControllerB - Я хочу MimeType по умолчанию будет XML, так http://mycompany.com/myresourceB будет возвращать XML, если я хочу JSON я должен добавить расширение http://mycompany.com/myresourceB.json

I п мой contentNegotiationManagerBean У меня есть тип мим по умолчанию установлен в XML, но это глобальный конфигурационный

<property name="defaultContentType" value="application/xml" /> 
+0

ли вы решить эту проблему? –

ответ

0

Там нет никакого способа, чтобы установить тип пантомимы для целого контроллера. Вы можете установить его для своих действий с помощью ResponseEntity в качестве типа возвращаемого значения для вашего метода действий, а затем установить тип ответа для этого действия.

Подробнее о документации: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-ann-httpentity

Образец для responsing в JSON с ResposneEntity:

@RequestMapping(method=RequestMethod.GET, value="/fooBar") 
    public ResponseEntity<String> fooBar2() { 
     String json = "jsonResponse"; 
     HttpHeaders responseHeaders = new HttpHeaders(); 
     responseHeaders.setContentType(MediaType.APPLICATION_JSON); 
     return new ResponseEntity<String>(json, responseHeaders, HttpStatus.CREATED); 
    }