API: changed date-format, camelCase instead of snake_case, null values, update and create for customer and project (#718)

This commit is contained in:
Kevin Papst
2019-04-24 18:13:33 +02:00
committed by GitHub
parent 215d4fc8bf
commit 460391136f
61 changed files with 2304 additions and 505 deletions

View File

@@ -1,6 +1,6 @@
jms_serializer:
visitors:
json:
json_serialization:
options:
- JSON_PRETTY_PRINT
- JSON_UNESCAPED_SLASHES

View File

@@ -29,10 +29,10 @@ fos_rest:
# view_handler: fos_rest.view_handler.default
# inflector: fos_rest.inflector.doctrine
# validator: validator
# serializer:
serializer:
# version: null
# groups: []
# serialize_null: false
serialize_null: true
view:
default_engine: twig
# force_redirects:
@@ -75,7 +75,7 @@ fos_rest:
# decoders:
# name: ~
array_normalizer:
service: null
service: fos_rest.normalizer.camel_keys
forms: true
format_listener:
enabled: true

View File

@@ -1,6 +1,9 @@
jms_serializer:
handlers:
datetime:
default_format: 'Y-m-d\TH:i:sO' # DATE_ISO8601
visitors:
xml:
xml_serialization:
format_output: '%kernel.debug%'
metadata:
directories:
@@ -10,3 +13,5 @@ jms_serializer:
App:
namespace_prefix: "App"
path: "%kernel.root_dir%/../config/serializer/App"
property_naming:
id: 'jms_serializer.identical_property_naming_strategy'

View File

@@ -2,13 +2,20 @@ nelmio_api_doc:
models:
use_jms: true
names:
- { alias: CustomerEditForm, type: App\Form\CustomerEditForm, groups: [Default, Entity, Customer] }
- { alias: CustomerEntity, type: App\Entity\Customer, groups: [Default, Entity, Customer] }
- { alias: CustomerCollection, type: App\Entity\Customer, groups: [Default, Collection, Customer] }
- { alias: ProjectEditForm, type: App\Form\ProjectEditForm, groups: [Default, Entity, Project] }
- { alias: ProjectEntity, type: App\Entity\Project, groups: [Default, Entity, Project] }
- { alias: ActivityEntity, type: App\Entity\Activity, groups: [Default, Entity, Activity] }
- { alias: ProjectCollection, type: App\Entity\Project, groups: [Default, Collection, Project] }
- { alias: ActivityEditForm, type: App\Form\ActivityEditForm, groups: [Default, Entity, Activity] }
- { alias: ActivityEntity, type: App\Entity\Activity, groups: [Default, Entity, Activity] }
- { alias: ActivityCollection, type: App\Entity\Activity, groups: [Default, Collection, Activity] }
- { alias: TimesheetEditForm, type: App\Form\TimesheetEditForm, groups: [Default, Entity, Timesheet] }
- { alias: TimesheetEntity, type: App\Entity\Timesheet, groups: [Default, Entity, Timesheet] }
- { alias: TimesheetCollection, type: App\Entity\Timesheet, groups: [Default, Collection, Timesheet] }
- { alias: UserEntity, type: App\Entity\User, groups: [Default, Entity, User] }
- { alias: UserCollection, type: App\Entity\User, groups: [Default, Collection, User] }
- { alias: I18nConfig, type: App\API\Model\I18n, groups: [Default] }
areas:
path_patterns:
@@ -18,8 +25,11 @@ nelmio_api_doc:
schemes: [http, https]
info:
title: Kimai 2 - API Docs
description: REST API for the Kimai 2 time-tracking software. It's rather limited by now. If you need other methods, please let me know at GitHub!
version: 0.2
description: |
REST API for the Kimai 2 time-tracking software. It is not yet considered stable and BC breaks might happen, even though I try to avoid them as much as possible.
- Collections return less data than explicit entity calls
- DateTime formats are explained in detail at https://www.kimai.org/documentation/rest-api.html
version: 0.3
# parameters:
# hostname:
# name: hostname

View File

@@ -1,6 +1,6 @@
jms_serializer:
visitors:
json:
json_serialization:
options:
- JSON_UNESCAPED_SLASHES
- JSON_PRESERVE_ZERO_FRACTION