X-HTTP-Method-Override might be handly when you want to use PATCH in an environment where the client or network only support POST.

Hanselman talks about it here

This can be achieved in Dropwizard 0.8.2 using Jersey HttpMethodOverrideFilter as follows:

 
 	@Override
    public void run(YourConfiguration configuration, Environment environment) {
        ...
        environment.jersey().register(new HttpMethodOverrideFilter()); // support X-HTTP-Method-Override
        ...
    }

Here’s a sample Jersey client using X-HTTP-Method-Override and POST with JSON patch:

 	 new JerseyClientBuilder().build()
 	 	.target("http://localhost:8080/patchable/1")
        .request(MediaType.APPLICATION_JSON)
        .header("X-HTTP-Method-Override", "PATCH")
        .post(Entity.json("[{\"op\":\"remove\",\"path\":\"/foo\"}]"));