我在 JBoss 7 环境中做了一个 REST 服务。使用 javax.ws.rs.core.Application 并像指南建议的那样使用 @ApplicationPath 。
所以下面的 REST 服务的代码应该是正确的,路径也是:
@Path(value="/service")
@ApplicationPath("/app")
public class MioRESTserv extends Application {
@GET
@Path(value="/echo/{message}")
public String answer(@PathParam(value="message") String message) {
return "Answer " + message;
}
@POST
@Path(value="/ordering")
@Consumes(value="application/json")
@Produces(value="application/xml")
public Output ordering(Input input) {
Arrays.sort(input.getVector());
return new Output(input.getVector());
}
}
第一个休息服务“回答”工作正常。但是当我尝试在以下 html 页面中使用 JQuery 测试 POST REST 服务“排序”时(像消费者一样使用)我有错误的响应(见下文):
$(document).ready(function() {
$( "input[type=submit]" ).click(function(event) { //$('#submit').click(function() {
var string = $('#numbers').val();
if (string.indexOf(',') != -1) { alert("in " + string);
$.post({
url: "http://localhost:8090/PAX_IN_REST/app/service/sorting",
contentType: "application/json",
data: '{"vector" : [' + string + ']}',
success: function(data, textStatus, jqXHR) {
},
error: function(jqXHR, textStatus, errorThrown){
alert("errorThrown=" + errorThrown);
}
});
} else {
alert('Bad format! Must be x,y,z');
}
});
});
路径是正确的。如果我测试“错误格式”,它也很好用。使用正确的输入(数字例如 1、3、6、7、2)“排序” RESTService ,带有type=POST
或method=POST
,通过警报回答是:404 The requested resource (/REST_IN_PAX/[object%20Object]) is not available
。
有谁能够帮我?谢谢