Comments (9)
👍 very nice, probably best to leave id
and layer
in the payload but the rest can go
from api.
should it be false by default?
I think it should be false
by default for all endpoints except reverse
from api.
good question about having it default to false
I'm guessing that mapping those fields has a negligible performance impact in the controllers (ie. not enough to measure).
I would enable
the fields by default to provide backwards compatibility (although that's not a big deal) and also because it's nice to have uniformity between all endpoints. (ie. turning it off
for all but reverse
requires a knowledge of the API otherwise consumers may feel it is unexpected behaviour.)
Also, be aware that changing a public API like this might require a prior warning and deprecation notice to the open app
team.
from api.
Re: the variable name addressDetails
may cause confusion with the future introduction of the .address
object.
Wouldn't something like administrativeDetails
be more descriptive?
from api.
Okay to summarize..
- _Naming:_
addressDetails
,details
,administrativeDetails
,adminDetails
??? - _Default:_ Should it be
false
for all endpoints? - _Deprecation_ warning/ notice - will the release notes suffice?
As for the naming - instead of being really specific administrativeDetails
I think being generic with details
would be better because this means that we return the bare minimum information and not a detailed document. In the future, these details can entail other properties related to address, categories, administrative details etc. Does that make sense?
I'm okay with false
being a default for all endpoints for the sake of consistency through out the API - but this might prove to be a breaking change for those who use reverse
not for the text
property but for the admin
properties. 😦
As for a way to warn consumers about breaking changes - our API's deprecation policy
needs to discussed further - This will make more sense when we have a service that requires a key and access token - because during the key signup we can communicate with the consumers about our deprecation policy. A simple deprecation policy would state that we would announce a breaking (non backwards compatible) change through email
and/or Release Notes
. Is this a future problem?
from api.
- 👍 for
details
- I was thinking
true
for all endpoints (ie. shows the extended fields by default) - Deprecation is wholly dependant on the above
from api.
Okay sounds good. I'll switch to true
being default and that way its not a breaking change.
from api.
Not to beat a dead horse, but just my two cents on the default value: I think it works either way, since breaking changes aren't presently a huge concern (the service is still v0.x and we explicitly warn users about them, after all), but my intuition is that not returning those values by default will give users the impression that we don't have the data at all, at least until they go ahead and actually read the API docs.
Setting details=false
seems like a nice-to-have optimization for, say, mobile consumers, but getting all details back might be more commonly desired by a larger number of users. Thus, I think true
is the way to go.
As far as breaking changes are concerned... sending emails to everyone who has an API key will probably be the most effective way to announce them (let's be real, I doubt that the lay consumer will read our release notes). That being said, once we're > 1.0.0, I think it'd be best to avoid them entirely until we make a switch to the next major version.
from api.
Please add acceptance test(s)
from api.
Related Issues (20)
- address layer performance filter disabled with negative layers
- Returning coordinates at the correct side of the street HOT 7
- Street matching fails on self hosted installation HOT 1
- duplicate invalid param 'text' warning for /v1/search HOT 4
- Get population value from reverse geocoding result HOT 1
- Region not returned in results for Algeria (DZ) if using multiple layers HOT 2
- Search for federal states of Germany in German language HOT 9
- Pelias: Updating the street data
- Pelias: Updating the street data
- Pelias: Updating the street data HOT 7
- Indexing and normalisation of Cyrillic characters HOT 2
- Curious behavior of Pelias with house number suffixes in answer HOT 3
- fix: test case fails for diffPlaces HOT 3
- Query filters for parent data fields HOT 3
- Geoname features not returned when queried together with osm source. HOT 2
- Increase MAX_SIZE limit for Pelias API HOT 1
- Layers and sources ignored results in ignored sources only
- T
- Can't find result for "97200", neither in local nor geocode.earth
- libpostal label 'state'
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 api.