Class ArticleController


  • @RestController
    @Api(description="The article controller",
         name="article controller")
    public class ArticleController
    extends java.lang.Object
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addIdentifiable​(java.util.UUID uuid, java.util.UUID identifiableUuid)  
      de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.Article> findAll​(int pageNumber, int pageSize, java.lang.String sortField, de.digitalcollections.model.api.paging.enums.Direction sortDirection, de.digitalcollections.model.api.paging.enums.NullHandling nullHandling)  
      java.util.List<de.digitalcollections.model.api.identifiable.Identifiable> getIdentifiables​(java.util.UUID uuid)  
      org.springframework.http.ResponseEntity<de.digitalcollections.model.api.identifiable.entity.Article> getWebpage​(java.util.UUID uuid, java.util.Locale pLocale)  
      de.digitalcollections.model.api.identifiable.entity.Article save​(de.digitalcollections.model.api.identifiable.entity.Article article, org.springframework.validation.BindingResult errors)  
      de.digitalcollections.model.api.identifiable.entity.Article update​(java.util.UUID uuid, de.digitalcollections.model.api.identifiable.entity.Article article, org.springframework.validation.BindingResult errors)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ArticleController

        public ArticleController()
    • Method Detail

      • findAll

        @ApiMethod(description="get all articles")
        @RequestMapping(value={"/latest/articles","/v2/articles"},
                        produces="application/json",
                        method=GET)
        @ApiResponseObject
        public de.digitalcollections.model.api.paging.PageResponse<de.digitalcollections.model.api.identifiable.entity.Article> 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")
                                                                                                                                        java.lang.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)
      • getWebpage

        @ApiMethod(description="get an article as JSON or XML, depending on extension or <tt>format</tt> request parameter or accept header")
        @RequestMapping(value={"/latest/articles/{uuid}","/v2/articles/{uuid}"},
                        produces={"application/json","application/xml"},
                        method=GET)
        @ApiResponseObject
        public org.springframework.http.ResponseEntity<de.digitalcollections.model.api.identifiable.entity.Article> getWebpage​(@ApiPathParam(description="UUID of the article, e.g. <tt>599a120c-2dd5-11e8-b467-0ed5f89f718b</tt>") @PathVariable("uuid")
                                                                                                                               java.util.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)
                                                                                                                               java.util.Locale pLocale)
                                                                                                                        throws de.digitalcollections.cudami.server.business.api.service.exceptions.IdentifiableServiceException
        Throws:
        de.digitalcollections.cudami.server.business.api.service.exceptions.IdentifiableServiceException
      • save

        @ApiMethod(description="save a newly created article")
        @RequestMapping(value={"/latest/articles","/v2/articles"},
                        produces="application/json",
                        method=POST)
        @ApiResponseObject
        public de.digitalcollections.model.api.identifiable.entity.Article save​(@RequestBody
                                                                                de.digitalcollections.model.api.identifiable.entity.Article article,
                                                                                org.springframework.validation.BindingResult errors)
                                                                         throws de.digitalcollections.cudami.server.business.api.service.exceptions.IdentifiableServiceException
        Throws:
        de.digitalcollections.cudami.server.business.api.service.exceptions.IdentifiableServiceException
      • update

        @ApiMethod(description="update an article")
        @RequestMapping(value={"/latest/articles/{uuid}","/v2/articles/{uuid}"},
                        produces="application/json",
                        method=PUT)
        @ApiResponseObject
        public de.digitalcollections.model.api.identifiable.entity.Article update​(@PathVariable
                                                                                  java.util.UUID uuid,
                                                                                  @RequestBody
                                                                                  de.digitalcollections.model.api.identifiable.entity.Article article,
                                                                                  org.springframework.validation.BindingResult errors)
                                                                           throws de.digitalcollections.cudami.server.business.api.service.exceptions.IdentifiableServiceException
        Throws:
        de.digitalcollections.cudami.server.business.api.service.exceptions.IdentifiableServiceException
      • getIdentifiables

        @ApiMethod(description="get identifiables related to article")
        @RequestMapping(value={"/latest/articles/{uuid}/identifiables","/v2/articles/{uuid}/identifiables"},
                        produces="application/json",
                        method=GET)
        @ApiResponseObject
        public java.util.List<de.digitalcollections.model.api.identifiable.Identifiable> getIdentifiables​(@PathVariable
                                                                                                          java.util.UUID uuid)
      • addIdentifiable

        @ApiMethod(description="add identifiable to article")
        @PostMapping({"/latest/articles/{uuid}/identifiables/{identifiableUuid}","/v2/articles/{uuid}/identifiables/{identifiableUuid}"})
        @ResponseStatus(OK)
        @ApiResponseObject
        public void addIdentifiable​(@PathVariable
                                    java.util.UUID uuid,
                                    @PathVariable
                                    java.util.UUID identifiableUuid)