我使用服务构建器创建了服务,并将示例实体放在liferay service.xml文件中。
我的service.xml
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.2.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_2_0.dtd">
<service-builder package-path="com.temp">
<namespace></namespace>
<entity name="Student" local-service="true" remote-service="true">
</entity>
<entity name="Foo" uuid="true" local-service="true" remote-service="true">
<!-- PK fields -->
<column name="fooId" type="long" primary="true" />
<!-- Group instance -->
<column name="groupId" type="long" />
<!-- Audit fields -->
<column name="companyId" type="long" />
<column name="userId" type="long" />
<column name="userName" type="String" />
<column name="createDate" type="Date" />
<column name="modifiedDate" type="Date" />
<!-- Other fields -->
<column name="field1" type="String" />
<column name="field2" type="boolean" />
<column name="field3" type="int" />
<column name="field4" type="Date" />
<column name="field5" type="String" />
<!-- Order -->
<order by="asc">
<order-column name="field1" />
</order>
<!-- Finder methods -->
<finder name="Field2" return-type="Collection">
<finder-column name="field2" />
</finder>
<!-- References -->
<reference package-path="com.liferay.portlet.asset" entity="AssetEntry" />
<reference package-path="com.liferay.portlet.asset" entity="AssetTag" />
</entity>
</service-builder>
构建服务后,我在FooServiceImpl.java
中添加了一个方法,如下所示,
@JSON
public JSONObject verifyService (String action){
System.out.println("action----->"+action);
JSONObject actionData=JSONFactoryUtil.createJSONObject();
actionData.put("success", true);
return actionData;
}
我构建了该服务,并且能够通过localhost:8080/api/jsonws
使用管理员凭据访问它。
现在,当我使用下面的curl命令调用此服务时
curl http://localhost:8080/api/jsonws/XXXX-Portlets.foo/verify-service -u test@liferay.com:test -d action ='temp'
我能够在我实现的方法中获取action参数值。 现在我想从curl,
发布以下值curl http://localhost:8080api/jsonws/XXXXX-Portlets.foo/verify-service -u test@liferay.com:test -d'{“action”:“verify”}'
我无法在我的网络服务中获得这个json !!
我尝试添加以下内容
curl -H“Content-Type:application / json”-H“Accept:application / json -XPOST ....“
卷曲并将参数类型从字符串更改为jsonObject,但没有运气。
我在这里缺少任何注释吗?