**Describe the bug** `PartitionField` and `SortField` don't conform to SPEC because property names are using snake case, instead of kebab case. **To Reproduce** PartitionField: 1. `field_id` -> `field-id` [ref](https://github.com/apache/iceberg/blob/c6ba7a4c48cf1280eeff35829492fd7e6a5f6787/open-api/rest-catalog-open-api.yaml#L2408) 2. `source_id` -> `source-id` [ref](https://github.com/apache/iceberg/blob/c6ba7a4c48cf1280eeff35829492fd7e6a5f6787/open-api/rest-catalog-open-api.yaml#L2410) SortField: 1. `source_id` -> `source-id` [ref](https://github.com/apache/iceberg/blob/c6ba7a4c48cf1280eeff35829492fd7e6a5f6787/open-api/rest-catalog-open-api.yaml#L2446) 2. `null_order` -> `null-order` [ref](https://github.com/apache/iceberg/blob/c6ba7a4c48cf1280eeff35829492fd7e6a5f6787/open-api/rest-catalog-open-api.yaml#L2452) **Expected behavior** Types use kebab case.