From aa0634518e40f2d2bf0080db7eb6952b980d33c9 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 21 Oct 2019 14:42:28 -0300 Subject: [PATCH] Bug 23859: Make POST add the Location header on cities endpoint According to the coding guidelines, this endpoint should be adding the Location header on POST actions. To test: 1. Apply the tests patch 2. Run: $ kshell k$ prove t/db_dependent/api/v1/cities.t => FAIL: Tests fail! 3. Apply this patch 4. Repeat (1) => SUCCESS: Tests pass! 5. Sign off :-D Signed-off-by: Tomas Cohen Arazi Signed-off-by: Martin Renvoize --- Koha/REST/V1/Cities.pm | 6 +++++- api/v1/swagger/paths/cities.json | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Koha/REST/V1/Cities.pm b/Koha/REST/V1/Cities.pm index 222f7c0015..793880c813 100644 --- a/Koha/REST/V1/Cities.pm +++ b/Koha/REST/V1/Cities.pm @@ -78,7 +78,11 @@ sub add { return try { my $city = Koha::City->new( _to_model( $c->validation->param('body') ) ); $city->store; - return $c->render( status => 200, openapi => $city->to_api ); + $c->res->headers->location( $c->req->url->to_string . '/' . $city->cityid ); + return $c->render( + status => 201, + openapi => $city->to_api + ); } catch { if ( $_->isa('DBIx::Class::Exception') ) { diff --git a/api/v1/swagger/paths/cities.json b/api/v1/swagger/paths/cities.json index 5779a48651..77ee394af4 100644 --- a/api/v1/swagger/paths/cities.json +++ b/api/v1/swagger/paths/cities.json @@ -84,7 +84,7 @@ "application/json" ], "responses": { - "200": { + "201": { "description": "City added", "schema": { "$ref": "../definitions.json#/city" -- 2.20.1