Grails RestfulController未从post上的rest teamplate接收数据(保存)

Grails RestfulController未从post上的rest teamplate接收数据(保存),rest,grails,resttemplate,Rest,Grails,Resttemplate,我有一个GrailsREST接口,它扩展了RestfulController。当我不重写任何方法时,我的代码如下所示: class UserController extends RestfulController<User> { static responseFormats = ["json"] UserController() { super(User) } } 一旦我覆盖了一些rest控制器,比如我的resttemplate.excha

我有一个GrailsREST接口,它扩展了RestfulController。当我不重写任何方法时,我的代码如下所示:

class UserController extends RestfulController<User> {

   static responseFormats = ["json"]

    UserController() {
        super(User)
    }
}
一旦我覆盖了一些rest控制器,比如我的resttemplate.exchange下面的代码就不再工作了。我没有看到用户对象被传递到控制器(通过调试进行检查)。使用curl post,我看到一个对象被传递到控制器。我可以成功地使用GET via curl和restemplate.echange

class UserController extends RestfulController<User> {

    static responseFormats = ["json"]

    UserController() {
        super(User)
    }
    @Transactional
    def save(User user) {
        user.save(flush: true)
        render(model: user, status: 201) as JSON
    }
}

有什么想法吗?

好的,不是真正的答案。我完全不知道为什么resttemplate.exchange除了默认的RestfulController代码之外什么都失败了,但是我能够从restful控制器中窃取并得到我想要的,那就是控制和调试方法的能力,例如save。。。这是我从super偷来的

@Override
Object save() {
    def instance = createResource()
    User user = instance
    user.save(flush: true)
    respond user, [status: CREATED]
}
private List<HttpMessageConverter<?>> getMessageConverters() {
    List<HttpMessageConverter<?>> converters = new ArrayList<HttpMessageConverter<?>>();
    converters.add(new MappingJackson2HttpMessageConverter());
    return converters;
}

private HttpHeaders getHeaders() {
    HttpHeaders headers = new HttpHeaders();
    headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
    headers.setContentType((MediaType.APPLICATION_JSON));
    return headers;
}

private RestTemplate getTemplate() {
    RestTemplate restTemplate = new RestTemplate();
    restTemplate.setMessageConverters(getMessageConverters());
    restTemplate.setErrorHandler(new CustomResponseErrorHandler());
    return restTemplate;
}
An unexpected error occurredorg.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [class receiptbucketserver.User] and content type [text/html;charset=UTF-8]
@Override
Object save() {
    def instance = createResource()
    User user = instance
    user.save(flush: true)
    respond user, [status: CREATED]
}