2014-01-07 48 views
0

本质上,试图缓存RestController的索引方法如下。Grails 2.3.4 RestController @Caching响应404 Not Found return

class BookController extends RestfulController<Book> { 
    static responseFormats = ['json', 'xml'] 

    BookRestController() { 
     super(Book) 
    } 

    @Override 
    @Cacheable("menus") 
    def index(Integer max) { 
     return super.index(max) 
    } 
} 

命令行测试如下。

curl -i -H "Accept: application/json" localhost:8080/kangurumCms/api/books 

结果

第一次作品,未经缓存和燕子response.There是在命令行中没有任何反应。 总是第一个响应返回404

第二次与缓存并返回结果如下

HTTP/1.1 404 Not Found 
Server: Apache-Coyote/1.1 
X-Grails-Cached: true 
Content-Type: application/json;charset=UTF-8 
Content-Length: 1644 
Date: Tue, 07 Jan 2014 15:34:31 GMT 

[{"title":"testestes",....}] 

任何想法的作品?

+0

我也必须删除@Cachable注释才能使控制器正常工作。它看起来像缓存插件中的一个错误。 –

回答

0

看来注解试图缓存所有可用的格式。我必须创建一个视图才能实现它。尝试创建一个索引视图。