Search code examples
rest-assuredhttp-delete

RestAssured delete method returns status code 405


RestAssured Delete method returns status code as 405 but when I try from Postman it returns 202 ( which is as expected )

In Postman :

Method : DELETE

PATH : .../rest/end1/end2?name=xyz

Code :

String name = "xyz";

String baseURI = System.getProperty("environmentPathUrl");

String path = "/rest/end1";

    public void deleteName(String baseURI, String path, String name) {
    String Resp = RestAssured.given().baseUri(baseURI).basePath(path).queryParam("name", name).when()
            .delete("/end2").then().assertThat().statusCode(202).and().extract().response().asString();

    System.out.println("Response is\t" + Resp);
}

Solution

  • You're making a mistake in the Rest Assured code, Add a .log().all() after given() to see the request traffic and you will be able to see your mistake

    I've made few changes to the code and this should work for you hopefully

    public static void deleteName() {
    
        String name = "xyz";
        String baseURI = System.getProperty("environmentPathUrl");
        String path = "/rest/end1";
    
        String Resp = RestAssured.given().log().all().baseUri(baseURI).basePath(path).queryParam("name", name).when()
                .delete("/end2").then().assertThat().statusCode(202).and().extract().response().asString();
    
        System.out.println("Response is\t" + Resp);
    }
    
    public static void main(String[] args) {
    
        deleteName();
    }