code: @RequestMapping(value = "{entityType}/{id}", method = RequestMethod.GET)
      public Resources<Resource<Property<?>>> getProperties(@PathVariable ProjectEntityType entityType, @PathVariable ID id) {
          ProjectEntity entity = getEntity(entityType, id);
          List<Property<?>> properties = propertyService.getProperties(entity);
          List<Resource<Property<?>>> resources = new ArrayList<>();
          for (Property<?> property : properties) {
              Resource<Property<?>> resource = Resource.of(
                      property,
                      uri(on(getClass()).getPropertyValue(entity.getProjectEntityType(), entity.getId(), property.getType().getClass().getName()))
              );
              // Update
              resource = resource.with(
                      Link.UPDATE,
                      uri(on(getClass()).getPropertyEditionForm(entity.getProjectEntityType(), entity.getId(), property.getType().getClass().getName())));
              // OK
              resources.add(resource);
          }
          return Resources.of(
                  resources,
                  uri(on(getClass()).getProperties(entityType, id))
          );
      }
docs: Gets the list of properties for a given entity and for the current user.
  
  @param entityType Entity type
  @param id         Entity ID
  @return List of properties