Comments (8)
fixed with suffix index. Thanks.
from openapi.net.odata.
the keys are generated based on the segment type. So, in this case both calendarView and instances are of type event. We can either change it such that when the second (duplicate) key segment is generated it will take after the segment name or change it universally so all key segments will take their name from the prior segment.
I am leaning towards option #2.
from openapi.net.odata.
Just using the segment name is not going to be clear what needs to be passed. In the above case, it would end up be calendarView-Id
and instances-id
which is not very helpful.
I think we should prefix the event-id with the previous segment if there is a duplicate. Therefore we would have event-id
and instances-event-id
We have the same issue with https://graph.microsoft.com/v1.0/workbooks/{driveItemId}/children/{driveItemId}
So this would give us driveItem-id
and children-driveItem-id
from openapi.net.odata.
We can work to change the way you propose but that would create extremely long parameter names in a few cases. Here are a few examples where it starts to get crazy. But the benefits out weigh the negatives, so i am fine to move forward with this approach.
enrollmentTroubleshootingEvent
macOSGeneralDeviceConfiguration
deviceConfigurationUserOverview
deviceConfigurationDeviceStatus
telecomExpenseManagementPartner
directoryObjectPartnerReference
windows10MobileCompliancePolicy
inferenceClassificationOverride
targetedManagedAppConfiguration
macOSDeviceFeaturesConfiguration
plannerBucketTaskBoardTaskFormat
deviceCompliancePolicyAssignment
applePushNotificationCertificate
multiValueLegacyExtendedProperty
deviceConfigurationDeviceOverview
singleValueLegacyExtendedProperty
windowsPhone81CustomConfiguration
windows10TeamGeneralConfiguration
deviceManagementExchangeConnector
managedAppPolicyDeploymentSummary
enrollmentConfigurationAssignment
androidGeneralDeviceConfiguration
targetedManagedAppPolicyAssignment
deviceEnrollmentLimitConfiguration
termsAndConditionsAcceptanceStatus
androidWorkProfileCompliancePolicy
windowsInformationProtectionPolicy
plannerProgressTaskBoardTaskFormat
windowsPhone81GeneralConfiguration
onPremisesConditionalAccessSettings
managedDeviceMobileAppConfiguration
appleDeviceFeaturesConfigurationBase
deviceAndAppManagementRoleAssignment
deviceAndAppManagementRoleDefinition
plannerAssignedToTaskBoardTaskFormat
deviceManagementTroubleshootingEvent
windowsUpdateForBusinessConfiguration
deviceConfigurationDeviceStateSummary
mdmWindowsInformationProtectionPolicy
androidWorkProfileCustomConfiguration
windows10SecureAssessmentConfiguration
deviceComplianceScheduledActionForRule
windows10EndpointProtectionConfiguration
deviceCompliancePolicyDeviceStateSummary
deviceCompliancePolicySettingStateSummary
windowsInformationProtectionAppLockerFile
androidWorkProfileGeneralDeviceConfiguration
managedDeviceMobileAppConfigurationAssignment
managedDeviceMobileAppConfigurationUserStatus
windowsInformationProtectionAppLearningSummary
managedDeviceMobileAppConfigurationUserSummary
managedDeviceMobileAppConfigurationDeviceStatus
managedDeviceMobileAppConfigurationDeviceSummary
deviceEnrollmentPlatformRestrictionsConfiguration
windowsInformationProtectionNetworkLearningSummary
windows10EnterpriseModernAppManagementConfiguration
deviceEnrollmentWindowsHelloForBusinessConfiguration
windowsDefenderAdvancedThreatProtectionConfiguration
from openapi.net.odata.
Are these based on actual cases where there are duplicate parameter names?
from openapi.net.odata.
@darrelmiller What should we do for this case
/groups/{group-id}/events/{event-id}/calendar/events/{event-id}/accept
from openapi.net.odata.
can we suffix number after the duplicated key:
"/groups/{group-id}/events/{event-id1}/calendar/calendarView/{event-id2}/cancel": {
"post": {
"tags": [
"groups.Actions"
],
"summary": "Invoke action cancel",
"operationId": "groups.events.calendar.calendarView.cancel",
"parameters": [
{
"name": "group-id",
"in": "path",
"description": "key: group-id",
"required": true,
"schema": {
"type": "string"
},
"x-ms-docs-key-type": "group"
},
{
"name": "event-id1",
"in": "path",
"description": "key: event-id",
"required": true,
"schema": {
"type": "string"
},
"x-ms-docs-key-type": "event"
},
{
"name": "event-id2",
"in": "path",
"description": "key: event-id",
"required": true,
"schema": {
"type": "string"
},
"x-ms-docs-key-type": "event"
}
],
from openapi.net.odata.
@xuzhg I'm fine with the number suffix.
from openapi.net.odata.
Related Issues (20)
- Add the ability to change the request or response body content type based on an annotation HOT 3
- /sites/{hostname}:/{relative-path} missing in OpenAPI description
- POST not found for /onenote/sectionGroups/{id}/sectionGroups
- PUT not found for /policies/crossTenantAccessPolicy/partners/{ID}/identitySynchronization
- Add support for alternate keys on navigation properties HOT 3
- Alternate keys are duplicated across paths in the same segment are also have alternate keys.
- Bitwise/flagged enums information
- Incorrect request body schema for PUT '/servicePrincipals/{servicePrincipal-id}/synchronization/secrets' HOT 1
- Bound operations not appended to non-contained navigation property paths with ExplicitBinding annotations
- Add schema to content types of stream properties that are annotated with a collection of acceptable media types
- [Feature] Retrieve complex properties of derived types
- [Investigate] Investigate growth of paths in `drives` API when composable functions are supported HOT 1
- [Fix] Update `operationId`s of navigation property paths with OData type cast segments
- [Feature] Generate navigation property paths defined in nested complex properties
- Add support for bulk update
- Support for Reference delete scenario on collection valued nav property with index in query parameter. HOT 3
- Expanding navigation properties on alternate keys HOT 2
- add dynamicRef/generic support for collections when openapi 3.1 is supported HOT 1
- Collections of primitive types should be nullable HOT 2
- nullability information for properties that are collections of complex or entity types is inconsistent HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openapi.net.odata.