阿罗哈!
我试图在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/