我正在尝试为处理COPY HTTP方法的资源创建一个自定义Spring MVC控制器。
@请求映射只接受以下请求方法值:GET、HEAD、POST、PUT、PATCH、DELETE、OPTIONS和TRACE。
在Spring MVC控制器中处理自定义HTTP方法是否有任何推荐的方法?
Servlet规范仅允许GET
、HEAD
,POST
和PUT
以及DELETE
或OPTIONS
或者TRACE
HTTP方法。这可以在Servlet API的Apache Tomcat实现中看到。
这反映在Spring API的请求方法
枚举中。
您可以通过实现自己的DispatcherServlet
重写service
方法以允许COPY
HTTP方法-将其更改为POST方法,并自定义RequestMappingHandlerAdapter
bean以允许它。
类似这样,使用Spring靴:
@Controller
@EnableAutoConfiguration
@Configuration
public class HttpMethods extends WebMvcConfigurationSupport {
public static class CopyMethodDispatcher extends DispatcherServlet {
private static final long serialVersionUID = 1L;
@Override
protected void service(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException {
if ("COPY".equals(request.getMethod())) {
super.doPost(request, response);
}
else {
super.service(request, response);
}
}
}
public static void main(final String[] args) throws Exception {
SpringApplication.run(HttpMethods.class, args);
}
@RequestMapping("/method")
@ResponseBody
public String customMethod(final HttpServletRequest request) {
return request.getMethod();
}
@Override
@Bean
public RequestMappingHandlerAdapter requestMappingHandlerAdapter() {
final RequestMappingHandlerAdapter requestMappingHandlerAdapter = super.requestMappingHandlerAdapter();
requestMappingHandlerAdapter.setSupportedMethods("COPY", "POST", "GET"); // add all methods your controllers need to support
return requestMappingHandlerAdapter;
}
@Bean
DispatcherServlet dispatcherServlet() {
return new CopyMethodDispatcher();
}
}
现在您可以使用COPY
HTTP方法调用/方法
endpoint。使用curl
这将是:
curl -v -X COPY http://localhost:8080/method
主要内容:Maven依赖关系,自定义HTTP头示例HTTP消息可以包含许多描述消息属性的标头,例如内容长度,内容类型,授权等。 HttpClient提供了检索,添加,删除和枚举标头的方法。 在下面的教程中,我们将演示如何将自定义HTTP头添加到HttpClient和Http请求方法。 Maven依赖关系 我们使用maven来管理依赖关系,并使用Apache HttpClient 4.5版本。 将以下依赖项添加到您的项目中。 pom.xml 文件的
本文向大家介绍springMVC自定义注解,用AOP来实现日志记录的方法,包括了springMVC自定义注解,用AOP来实现日志记录的方法的使用技巧和注意事项,需要的朋友参考一下 需求背景 最近的一个项目,在项目基本完工的阶段,客户提出要将所有业务操作的日志记录到数据库中,并且要提取一些业务的关键信息(比如交易单号)体现在日志中。 为了保证工期,在查阅了资料以后,决定用AOP+自定义注解的方式来完
本文向大家介绍Javacript中自定义的map.js 的方法,包括了Javacript中自定义的map.js 的方法的使用技巧和注意事项,需要的朋友参考一下 js中没有map这个类,只能自己写一个。以下map.js和map-util.js都是自定义的map,任选其一就可以。你可以用它来像java里new Map()和put()、remove()、get()等方法。 map.js: map-
本章将会讨论如何在API设计中使用自定义方法。 自定义方法指的是五个标准方法之外的API方法。他们应当仅用于标准方法不易表达的功能。一般而言,API设计者应当尽可能优先考虑使用标准方法,而不是自定义方法。标准方法相对更简单,定义完善的语义,并且开发者也更加熟悉;这使标准方法更易用,并且使用者更难犯错。使用标准方法的另一个优势是API平台会有更好的支持,如计费、错误处理、日志、监控等等。 自定义方法
在自定义arrayAdapter中实现自定义getFilter时遇到问题。实际上,我不知道如何实现它。尝试了各种代码,但仍然没有成功。这是我的自定义阵列适配器。 这是ListTO课程。 这是布局图。 这里的搜索关键字来自“inputSearch”编辑文本。 这是文本更改的侦听器。 谢谢
我正在努力裁剪javax。验证。ConstraintValidator和javax。验证。根据我的需要限制ValidatorContext。我从格式错误的请求正文收到的响应消息始终采用以下形状: <代码> 此消息也以500而不是400错误请求的形式返回。我无法获得工作到解决方案来执行以下操作: 仅包括<代码> 我有以下代码: 向上面的代码发送格式错误的有效负载将导致如下消息: 我希望能够收到以下信