阿罗哈!

我试图在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())是失败的。

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

照顾自己,

达尔文

最佳答案

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

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

这里有一些背景讨论:

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

关于java - 带有普通放置或过帐的不受支持的媒体类型(415),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14409575/

10-12 04:18