Skip to content

Conversation

@commonsensesoftware
Copy link
Collaborator

Fix OData Specification

  • You've read the Contributor Guide and Code of Conduct.
  • You've included unit or integration tests for your change, where applicable.
  • You've included inline docs for your change, where applicable.
  • There's an open issue for the PR that you are making. If you'd like to propose a new feature or change, please open an issue to discuss the change or find an existing issue.

Description

The ODataControllerSpecification implements the IApiControllerSpecification, which is used to filter candidate API controllers for versioning. The specification logic is wholistically correct. The implementation also exposes part of the specification matching functions for additional, internal operations. The ODataApplicationModelProvider uses one of these overloads:

else if ( !ODataControllerSpecification.IsSatisfiedBy( controller ) )

The wrong overload is selected, which results in a partial - rather than complete - matching process. This PR is a minor refactoring to ensure that the matching is internally performed correctly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ODataApplicationModelProvider ignores controllers with only specific methods marked with ODataAttributeRoutingAttribute

2 participants