如何使用angular$资源将json发送到java rest服务?
我正在处理的项目有一个用于JavaEE应用程序的rest服务,作为POST方法。我已经部署了它,并使用媒体类型选择器“application/json”从soapui测试了它。我已经创建了一个资源工厂来使用这个服务,并在我创建的自定义操作中设置了默认参数。但是,参数会作为参数添加到url字符串中,就像多余的变量一样(即api.com/query?thing:123)。我不确定如何以满足API的方式发送JSON 代码如下: 角度资源:如何使用angular$资源将json发送到java rest服务?,java,angularjs,rest,java-ee-6,Java,Angularjs,Rest,Java Ee 6,我正在处理的项目有一个用于JavaEE应用程序的rest服务,作为POST方法。我已经部署了它,并使用媒体类型选择器“application/json”从soapui测试了它。我已经创建了一个资源工厂来使用这个服务,并在我创建的自定义操作中设置了默认参数。但是,参数会作为参数添加到url字符串中,就像多余的变量一样(即api.com/query?thing:123)。我不确定如何以满足API的方式发送JSON 代码如下: 角度资源: angular.module('aumBills', ['ng
angular.module('aumBills', ['ngResource'])
.factory('Bills', ['$resource',
function($resource)
{
return $resource(
'/ua_aumcore/api/v1/bills/:billableEventI',
{
billableEventI:'@billableEventI'
},
{
getList: {method: 'POST', params: {'userID':'1234'}, isArray: true, url: '/ua_aumcore/api/v1/bills/query/'}
});
}]);
Java REST服务:
@Path("bills")
public class BillableEventResource implements BillableEventService {
@EJB
private BillableEventBean billableEventBean;
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("query")
@Override
public List<BillableEventDuplicate> getBillableEventDuplicateList(BillableEventQueryFilter queryFilter) {
return billableEventBean.getBillableEventDuplicateList(queryFilter);
}
@GET
//@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.APPLICATION_JSON)
@Path("{billableEventI}")
@Override
public BillableEventDuplicate getBillableEvent(@PathParam("billableEventI") String billID) {
return billableEventBean.getBillableEvent(billID);
}
}
@Path(“账单”)
公共类BillableEventResource实现BillableEventService{
@EJB
私有BillableEventBean BillableEventBean;
@职位
@使用(MediaType.APPLICATION_JSON)
@产生(MediaType.APPLICATION_JSON)
@路径(“查询”)
@凌驾
公共列表getBillableEventDuplicateList(BillableEventQueryFilter queryFilter){
返回billableEventBean.getBillableEventDuplicateList(queryFilter);
}
@得到
//@使用(MediaType.TEXT\u PLAIN)
@产生(MediaType.APPLICATION_JSON)
@路径(“{billableEventI}”)
@凌驾
公共BillableEventDuplicate getBillableEvent(@PathParam(“billableEventI”)字符串billID){
返回billableEventBean.getBillableEvent(billID);
}
}
我还没有完全解决它,但我确实减少了一个潜在问题。调用自定义操作getList时,为向其提供调用时需要执行的json对象。因此,当调用它时,它将是Bills.getList({},{userID:1234}),而不是在那里馈送它{userID:1234})。。。(或者类似的,我已经在我现在无法访问的笔记本电脑上找到了代码——当我再次访问时会更新)。