1

啊哈!

我试图在 Restlet 中实现一个通用的 put 或 post 方法。(我能够毫无问题地实现一个通用的 Get 方法。)

这是我的服务器资源(接口)文件的相关部分:

@Post
public <T> void insert( T object ) ;   //  non-idempotent update/create

这是我的服务器资源(实现)文件的相关部分:

//  non-idempotent create/update
public <T> void insert( T object )
{ }

我在我的 Restlet 客户端中尝试了以下两种方法:

clientResource.insert( newUser ) ;
clientResource.<User>insert( newUser ) ;

但是,这两者都会导致以下客户端异常:

Exception in thread "main" Unsupported Media Type (415) - Unsupported Media Type
at org.restlet.resource.ClientResource.doError(ClientResource.java:612)
at org.restlet.engine.resource.ClientInvocationHandler.invoke(ClientInvocationHandler.java:264)
at $Proxy8.store(Unknown Source)
at storage.client.Client.main(Client.java:53)

因此,似乎有某种封送处理(对于实际的服务器 put 方法 -- insert())失败了。

有谁知道如何解决这个问题?

小心,

达尔文

4

1 回答 1

0

我认为您遇到了这个已知的错误:

https://github.com/restlet/restlet-framework-java/issues/426

这里有一些背景讨论:

http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&viewType=browseAll&dsMessageId=2910995#messagefocus

于 2013-01-19T18:37:53.153 回答