More flexible servicesPath for ServiceProvider
----------------------------------------------
Key: ABDERA-86
URL: https://issues.apache.org/jira/browse/ABDERA-86
Project: Abdera
Issue Type: New Feature
Affects Versions: 0.4.0
Reporter: Jim Ancona
I have a use case where the base URI of my service is parameterized (e.g.
http://example.com/users/{userId}/service/). I want to use a ServiceProvider at
the user level, i.e. I would like the servicesPath to match
http://example.com/users/{userId}/. The current implementation in
AbstractServiceProvider uses a plain string match, so there's no way to
parameterize it.
I have created a class extending AbstractServiceProvider which matches using a
regex. It also stores the match value(s) as request parameter(s), making them
easily accessible to my CollectionProvider. While my class meets my needs, I
think the use case is common enough that you might want to incorporate
something similar into Abdera. I had to override
AbstractServiceProvider.resolve() in my class, which lead to quite a bit of
duplicated code. It might be better to:
1. Refactor AbstractServiceProvider to abstract the string matching into
separate methods, so that classes that want to use a different matching method
can easily do so.
2. Make the default implementation use a regex rather than a simple string
match.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.