Comments (5)
I can't find a method named "GetProductPrice" defined in the "GetEdmModelV1". Do you mean "GetPrice" method?
So, I can't understand 'https://{{url}}/odata-v1/organizations/GetProductPrice(organizationId='10001', partId='100000-01')', do you mean 'https://{{url}}/odata-v1/organizations/GetPrice(organizationId='10001', partId='100000-01')'
Let's assume that you
- use "GetPrice" function name
- has two parameters (organizationId, partId)
- the action name in the controller is also "GetPrice".
Then, it should work.
"Be noted", your request call has a "whitespace" before "partId='100000-01'. If you remove it, it should work as below Postman snapshot:
Detail test codes, you can find it in daea53c
from aspnetcoreodata.
Sam,
Thanks so much for the quick reply. Your blog is actually what started me on the v8.00 path on this project. The issue was, in fact, the whitespace between the first and second parameter. The function name difference in my posted code example was because I had tried changing the name when troubleshooting while I was creating the original post and didn't realize I had already copy and pasted the old edm model with the modified controller code. I really appreciate your help :)
from aspnetcoreodata.
I made this mistake as well and it took me a while to understand what was going on; as you say
http://some/path/myFunc(param1='something', param2='another')
will 404, whereas
http://some/path/myFunc(param1='something',param2='another')
will work.
Another thing to watch out for is that if you get the parameter data types subtlety wrong this can also result in a 404, for example if my parameters to the OData function are Guid
and then string
, the example below applies;
http://some/path/myFunc(param1='B334999A-CD71-4178-BF55-E66B601C2A45',param2='another')
will 404, whereas
http://some/path/myFunc(param1=B334999A-CD71-4178-BF55-E66B601C2A45,param2='another')
will work.
(note the single quotes around the Guid
param in the first example)
It's technically correct, although I suppose a 400 with details of the typing problem might be more intuitive.
from aspnetcoreodata.
@RobTF It sounds we need to support the parameter constraint. So far, i haven't had a design for that.
from aspnetcoreodata.
Close it. Please file a new issue if you have questions/concerns. Thanks.
from aspnetcoreodata.
Related Issues (20)
- Disabling Automatic Expansion in Nested OData Entity Objects HOT 5
- Annotation to handle sanitization of field names in open types HOT 3
- Inefficient Pagination Handling in Expanded Entities ($expand ) in Microsoft.AspNetCore.OData HOT 6
- Navigation properties are not serialized in operation results HOT 7
- Error reading multipart Batch Response HOT 6
- typo odaya
- odata.metadata=full throws exceptions with $apply HOT 1
- Getting System.UriFormatException: Invalid URI: The Uri string is too long. even when using /$query
- AutoExpand and AutoSelect not working correctly with $Expand and $Select uri query parameters
- Invalid $filter and $orderby cause error 500 while it is actually bad request HOT 1
- $select doesn't work on fields of type IList<string> HOT 2
- Can't select complex property HOT 5
- OData v8.2.5: Selecting and Filtering Complex Dictionary Properties HOT 4
- $expand not working with ODataQueryOptions in the backend HOT 2
- OData filtering doesn't work with polymorphic entities HOT 3
- Really long POST $query results in incomplete JSON response HOT 5
- ODataException when entity has DateOnly or TimeOnly member HOT 6
- Error in combination with EF and SplitToTable HOT 2
- Composite key doesn't work HOT 9
- 405 Method Not Allowed on Unknown OData Route vs 404 Not Found on REST API in .NET 8 - Is This Expected Behavior? HOT 2
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 aspnetcoreodata.