Class PersonController


  • @RestController
    @Api(description="The Person controller",
         name="Person controller")
    public class PersonController
    extends Object
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long count()  
      de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.agent.Person> findAll​(int pageNumber, int pageSize, String sortField, de.digitalcollections.model.api.paging.enums.Direction sortDirection, de.digitalcollections.model.api.paging.enums.NullHandling nullHandling, String language, String initial)  
      org.springframework.http.ResponseEntity<de.digitalcollections.model.api.identifiable.entity.agent.Person> get​(UUID uuid, Locale pLocale)  
      org.springframework.http.ResponseEntity<de.digitalcollections.model.api.identifiable.entity.agent.Person> getByIdentifier​(String namespace, String id)  
      Set<de.digitalcollections.model.api.identifiable.entity.DigitalObject> getDigitalObjects​(UUID uuid)  
      Set<de.digitalcollections.model.api.identifiable.entity.work.Work> getWorks​(UUID uuid)  
      de.digitalcollections.model.api.identifiable.entity.agent.Person save​(de.digitalcollections.model.api.identifiable.entity.agent.Person person, org.springframework.validation.BindingResult errors)  
      de.digitalcollections.model.api.identifiable.entity.agent.Person update​(UUID uuid, de.digitalcollections.model.api.identifiable.entity.agent.Person person, org.springframework.validation.BindingResult errors)  
    • Constructor Detail

      • PersonController

        public PersonController()
    • Method Detail

      • count

        @ApiMethod(description="count all persons")
        @GetMapping(value={"/latest/persons/count","/v2/persons/count"},
                    produces="application/json")
        @ApiResponseObject
        public long count()
      • findAll

        @ApiMethod(description="get all persons")
        @GetMapping(value={"/latest/persons","/v2/persons"},
                    produces="application/json")
        @ApiResponseObject
        public de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.agent.Person> findAll​(@RequestParam(name="pageNumber",required=false,defaultValue="0")
                                                                                                                                             int pageNumber,
                                                                                                                                             @RequestParam(name="pageSize",required=false,defaultValue="5")
                                                                                                                                             int pageSize,
                                                                                                                                             @RequestParam(name="sortField",required=false,defaultValue="uuid")
                                                                                                                                             String sortField,
                                                                                                                                             @RequestParam(name="sortDirection",required=false,defaultValue="ASC")
                                                                                                                                             de.digitalcollections.model.api.paging.enums.Direction sortDirection,
                                                                                                                                             @RequestParam(name="nullHandling",required=false,defaultValue="NATIVE")
                                                                                                                                             de.digitalcollections.model.api.paging.enums.NullHandling nullHandling,
                                                                                                                                             @RequestParam(name="language",required=false,defaultValue="de")
                                                                                                                                             String language,
                                                                                                                                             @RequestParam(name="initial",required=false)
                                                                                                                                             String initial)
      • get

        @ApiMethod(description="get a person as JSON or XML, depending on extension or <tt>format</tt> request parameter or accept header")
        @GetMapping(value={"/latest/persons/{uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}","/v2/persons/{uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}"},
                    produces={"application/json","application/xml"})
        @ApiResponseObject
        public org.springframework.http.ResponseEntity<de.digitalcollections.model.api.identifiable.entity.agent.Person> get​(@ApiPathParam(description="UUID of the person, e.g. <tt>599a120c-2dd5-11e8-b467-0ed5f89f718b</tt>") @PathVariable("uuid")
                                                                                                                             UUID uuid,
                                                                                                                             @ApiQueryParam(name="pLocale",description="Desired locale, e.g. <tt>de_DE</tt>. If unset, contents in all languages will be returned") @RequestParam(name="pLocale",required=false)
                                                                                                                             Locale pLocale)
                                                                                                                      throws IdentifiableServiceException
        Throws:
        IdentifiableServiceException
      • getByIdentifier

        @ApiMethod(description="get a person as JSON or XML, depending on extension or <tt>format</tt> request parameter or accept header")
        @GetMapping(value={"/latest/persons/identifier","/v2/persons/identifier"},
                    produces={"application/json","application/xml"})
        @ApiResponseObject
        public org.springframework.http.ResponseEntity<de.digitalcollections.model.api.identifiable.entity.agent.Person> getByIdentifier​(@RequestParam(name="namespace",required=true)
                                                                                                                                         String namespace,
                                                                                                                                         @RequestParam(name="id",required=true)
                                                                                                                                         String id)
                                                                                                                                  throws IdentifiableServiceException
        Throws:
        IdentifiableServiceException
      • save

        @ApiMethod(description="save a newly created person")
        @PostMapping(value={"/latest/persons","/v2/persons"},
                     produces="application/json")
        @ApiResponseObject
        public de.digitalcollections.model.api.identifiable.entity.agent.Person save​(@RequestBody
                                                                                     de.digitalcollections.model.api.identifiable.entity.agent.Person person,
                                                                                     org.springframework.validation.BindingResult errors)
                                                                              throws IdentifiableServiceException
        Throws:
        IdentifiableServiceException
      • update

        @ApiMethod(description="update a person")
        @PutMapping(value={"/latest/persons/{uuid}","/v2/persons/{uuid}"},
                    produces="application/json")
        @ApiResponseObject
        public de.digitalcollections.model.api.identifiable.entity.agent.Person update​(@PathVariable("uuid")
                                                                                       UUID uuid,
                                                                                       @RequestBody
                                                                                       de.digitalcollections.model.api.identifiable.entity.agent.Person person,
                                                                                       org.springframework.validation.BindingResult errors)
                                                                                throws IdentifiableServiceException
        Throws:
        IdentifiableServiceException
      • getWorks

        @ApiMethod(description="get a person\'s works as JSON or XML, depending on extension or <tt>format</tt> request parameter or accept header")
        @GetMapping(value={"/latest/persons/{uuid}/works","/v2/persons/{uuid}/works"},
                    produces="application/json")
        @ApiResponseObject
        public Set<de.digitalcollections.model.api.identifiable.entity.work.Work> getWorks​(@PathVariable("uuid")
                                                                                           UUID uuid)
                                                                                    throws IdentifiableServiceException
        Throws:
        IdentifiableServiceException
      • getDigitalObjects

        @ApiMethod(description="get a person\'s digital objects as JSON or XML, depending on extension or <tt>format</tt> request parameter or accept header")
        @GetMapping(value={"/latest/persons/{uuid}/digitalobjects","/v2/persons/{uuid}/digitalobjects"},
                    produces="application/json")
        @ApiResponseObject
        public Set<de.digitalcollections.model.api.identifiable.entity.DigitalObject> getDigitalObjects​(@PathVariable("uuid")
                                                                                                        UUID uuid)
                                                                                                 throws IdentifiableServiceException
        Throws:
        IdentifiableServiceException