如何使用域对象参数调用 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