我曾经打算写一个RESTful webservice,但是当我完成它时,我发现我不能使用RESTClient来测试它。
我的代码是这样的:
//-------------------------
@POST
@Path("add")
@Produces(MediaType.TEXT_HTML)
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public String addCategory(Category category) {
System.out.println("处理添加类别逻辑,接受的数据为id:" + category.getId()
+ ",name:" + category.getName());
return "ok";
}
//-------------------------
@XmlRootElement
public class Category {
private int id;
private String name;
public Category(){}
public Category(int id, String name){
this.id = id;
this.name = name;
}
these are getter and setters
...
//---------------------
s more, I sent a POST HTTP who
的身体是什么
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<category>
<id>1</id>
<name>No.1 category</name>
</category>aaa
但我得到了#34; HTTP状态415 - 不支持的媒体类型&#34;。
那么,我能做些什么来解决这个问题?
答案 0 :(得分:0)
当你发送HTTP POST时,明确设置标题"Content-Type: application/xml"
,这应该可以解决问题。
答案 1 :(得分:0)
您的RESTful服务接受以下Mime类型(MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON),您需要设置内容类型标题,即
的Content-Type:application / xml进行;字符集= UTF-8
如果您使用Chrome来测试您的RESTful服务,那么Advanced Rest Client是一个很好的插件,它有一个内容类型下拉列表,您可以从中选择流行的或添加自己的。我确定Firefox有类似的插件