如何使用域对象参数调用 rest api
how to invoke rest api with domain object parameter
我写了一个服务动作看起来像
@DomainService(
nature = NatureOfService.VIEW_REST_ONLY,
objectType = "rest.oneService"
)
onepackage.OneService{
@Action(semantics = SemanticsOf.SAFE)
public List<Data> findDataByPerson(Person person, LocalDate start, LocalDate end){
...
}
}
在 SwaggerUI 中公开为
get /services/rest.oneService/actions/findDataByPerson/invoke
我找不到如何将域对象作为参数发送到 rest api;
我该怎么做?
谢谢。
对域对象的引用使用此格式:
{
"person": {
"value": {
"href": "http://~/objects/person.Person/123"
}
}
}
其中 person.Person
是引用类型的对象类型(根据 @DomainObject(objectType=...))。
如果使用 PUT (@Action(semantics=IDEMPOTENT)) 或 POST (@Action(semantics=NON_IDEMPOTENT)) 调用一个动作,那么上面就是正文。
如果使用 GET (@Action(semantics=SAFE)) 调用,则 json 需要进行 URL 编码和附加。
规范第 2.10 节中的更多详细信息,也可在线获取 here
我写了一个服务动作看起来像
@DomainService(
nature = NatureOfService.VIEW_REST_ONLY,
objectType = "rest.oneService"
)
onepackage.OneService{
@Action(semantics = SemanticsOf.SAFE)
public List<Data> findDataByPerson(Person person, LocalDate start, LocalDate end){
...
}
}
在 SwaggerUI 中公开为
get /services/rest.oneService/actions/findDataByPerson/invoke
我找不到如何将域对象作为参数发送到 rest api;
我该怎么做?
谢谢。
对域对象的引用使用此格式:
{
"person": {
"value": {
"href": "http://~/objects/person.Person/123"
}
}
}
其中 person.Person
是引用类型的对象类型(根据 @DomainObject(objectType=...))。
如果使用 PUT (@Action(semantics=IDEMPOTENT)) 或 POST (@Action(semantics=NON_IDEMPOTENT)) 调用一个动作,那么上面就是正文。
如果使用 GET (@Action(semantics=SAFE)) 调用,则 json 需要进行 URL 编码和附加。
规范第 2.10 节中的更多详细信息,也可在线获取 here