Browse Source
Following the discussion about the best way to make things simpler for developing the REST api, I quote Lari's email: "As many other endpoint will have the exact same usage, by looking at your example, I would prefer to avoid writing parameter / pagination / sorting / header handling for each list operation in our API controllers. Do you think it's possible to centralize all of this e.g. by passing $c into a customized search sub? Perhaps in Koha::Objects? so instead we could have something like (ignore my bad choice of naming)...: sub list_vendors { my $c = shift->openapi->valid_input or return; my $args = $c->validation->output; my $vendors; return try { $vendors = Koha::Acquisition::Booksellers->api_list_search($c); return $c->render(status => 200, openapi => $vendors); } catch { ... } }" We all agreed we neeed something like that. Here's a possible implementation. I take advantage of the previously written Mojo helpers, that are fully covered by tests. I submit this early so anyone can take a look and gather ideas to make it even better. I'm already using it (effectively) for the /acquisitions/orders endpoint I'm writing on bug 18731. Thanks! Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Julian Maurice <julian.maurice@biblibre.com> Signed-off-by: Lari Taskula <lari.taskula@jns.fi> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>18.05.x
1 changed files with 83 additions and 0 deletions
Loading…
Reference in new issue