啊哈!
我试图在 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())失败了。
有谁知道如何解决这个问题?
小心,
达尔文