So I'm trying to come up with a good workflow for fetching the details of an issue given a <volume title>, <issue number>, and (optionally) , <year of issue>.
My first instinct is to do a query on the search resource with the resources parameter set to "issue" to filter by issues and the query string being "<volume title> <issue number>", however it appears no issues are ever returned by a query on the search resource. Is this an issue to be fixed?
Alternatively I would do:
1. Query on the search resource, filtered by volume, with the query string being <volume title>
2. If <year of issue> is provided, filter out volumes that have a start year after <year of issue>, I would also like to filter out volumes whose count_of_issues is less than the <issue number>, but that's not currently provided in the search results of a volume.
3. If the number of volumes after filtering is >1 then present info to the user so they can select the right one.
4. I would now have a volume ID, so I could query the volume resource for that specific ID
5. The volume resource would provide a list of issues, but selecting the right one would be a problem. The issue numbers are not provided in the response so I would have to iterate through the issues, getting their details until I found one with issue number = <issue number>. If the volume is say... Fantastic Four, in the worse case that would mean 563 GETs to find the correct issue.
So it would probably be best to provide the issue number in the issue list in the volume resource. Although it would be great if doing a search for "<volume title> <issue number> <year of issue>" and filtering by issue could return the possible issue IDs directly.
EDIT: Even better if I could do explicit filtering on the issues resource :)
Log in to comment