Spring Boot Web App обрабатывает неправильные запросы POST после обновления Spring/Spring BootJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring Boot Web App обрабатывает неправильные запросы POST после обновления Spring/Spring Boot

Сообщение Anonymous »

Я обновляю зависимости приложения Spring Boot с помощью встроенного сервера Tomcat. При прохождении и обновлении с пружины 5.1 -> 5.2 и Spring Boot 2.1 -> 2.2 возникла проблема, когда были обработаны только публикацию и получение HTTP -запросов, в то время как патч и удаление не были. Контроллер и страницы JSP работали отлично, пока я не сделал это обновление весны. Когда я нажимаю «Отправить» на этой странице, он должен перенести меня к методу Update Controller's Update () с помощью аннотированного requestmethod.patch. Поскольку обновление, однако, вместо этого это приводит меня к методу Create () контроллера с requestMethod.post вместо этого. Затем он ошибся, потому что он пытается добавить существующий элемент в базу данных, а не обновлять существующий. Это происходит для нескольких контроллеров. Мои текущие версии зависимости ниже. Я подтвердил, что создание стартапов Spring RequestMappingInfohandlermapping правильно отображает методы обработчика контроллера с методами HTTP. Вместо этого, кажется, что объекты httpservletrequest, отправленные на пружину, уже имеют неверные методы HTTP. Я попытался прорваться через классы Tomcat, чтобы исследовать, но я потерял, что вызывает это, не говоря уже о том, к а к е г о р а з р е ш и т ь . < c o d e > & l t ; s p r i n g . v e r s i o n & g t ; 5 . 3 . 3 9 & l t ; / s p r i n g . v e r s i o n & g t ; < b r / > & l t ; s p r i n g - b o o t . v e r s i o n & g t ; 2 . 7 . 1 8 & l t ; / s p r i n g - b o o t . v e r s i o n & g t ; < b r / > & l t ; s p r i n g - s e c u r i t y . v e r s i o n & g t ; 5 . 8 . 1 6 & l t ; / s p r i n g - s e c u r i t y . v e r s i o n & g t ; < b r / > & l t ; t o m c a t . v e r s i o n & g t ; 9 . 0 . 1 0 2 & l t ; / t o m c a t . v e r s i o n & g t ; < b r / > < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s p r i n g - c o r e & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; $ { s p r i n g . v e r s i o n } & l t ; / v e r s i o n & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s p r i n g - o r m & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; $ { s p r i n g . v e r s i o n } & l t ; / v e r s i o n & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s p r i n g - t e s t & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ; $ { s p r i n g . v e r s i o n } & l t ; / v e r s i o n & g t ; < b r / > & l t ; / d e p e n d e n c y & g t ; < b r / > & l t ; d e p e n d e n c y & g t ; < b r / > & l t ; g r o u p I d & g t ; o r g . s p r i n g f r a m e w o r k & l t ; / g r o u p I d & g t ; < b r / > & l t ; a r t i f a c t I d & g t ; s p r i n g - t x & l t ; / a r t i f a c t I d & g t ; < b r / > & l t ; v e r s i o n & g t ;${spring.version}


org.springframework
spring-web
${spring.version}


org.springframework
spring-webmvc
${spring.version}


org.springframework.boot
spring-boot
${spring-boot.version}


org.springframework.boot
spring-boot-starter-jdbc
${spring-boot.version}


org.springframework.boot
spring-boot-starter-security
${spring-boot.version}


org.springframework.boot
spring-boot-starter-test
${spring-boot.version}
test


org.springframework.boot
spring-boot-starter-web
${spring-boot.version}


org.springframework.boot
spring-boot-test
${spring-boot.version}
test


org.springframework.data
spring-data-commons
2.1.15.RELEASE


org.springframework.data
spring-data-jpa
2.1.15.RELEASE


org.springframework.security
spring-security-config
${spring-security.version}


org.springframework.security
spring-security-core
${spring-security.version}


org.springframework.security
spring-security-ldap
${spring-security.version}


org.springframework.security
spring-security-test
${spring-security.version}
test


org.springframework.security
spring-security-web
${spring-security.version}

< /code>
sub-pom1.xml

org.apache.tomcat.embed
tomcat-embed-jasper
${tomcat.version}

< /code>
sub-pom2.xml

org.apache.tomcat
tomcat-el-api
${tomcat.version}
test


org.apache.tomcat
tomcat-jasper-el
${tomcat.version}
test

< /code>
concerfiguration.java
@Configuration
@Import(CoreConfiguration.class)
@EnableAutoConfiguration
@ComponentScan("org.aurora.biorepository")
public class Configuration implements WebMvcConfigurer {
public static void main(String[] args) throws Exception {
System.setProperty(AbstractEnvironment.ACTIVE_PROFILES_PROPERTY_NAME, "not_test");
SpringApplication.run(ApplicationConfiguration.class, args);
}

@Bean
public ServletWebServerFactory embeddedServletContainerFactory() {
return new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
((StandardJarScanner) context.getJarScanner()).setScanManifest(false);
}
};
}

@Bean
public FilterRegistrationBean getFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(getMethodConvertingFilter());
registration.addUrlPatterns("/*");
registration.setDispatcherTypes(DispatcherType.FORWARD);
registration.setName("getMethodConvertingFilter");
return registration;
}

@Bean
public GetMethodConvertingFilter getMethodConvertingFilter() {
return new GetMethodConvertingFilter();
}

@Bean
@Autowired
public DomainClassConverter domainClassConverter(@Qualifier("mvcConversionService") ConversionService cs) {
return new DomainClassConverter(cs);
}
}
< /code>
getMethodConvertingFilter.java
public class GetMethodConvertingFilter implements Filter {

@Override
public void init(FilterConfig config) throws ServletException {
// do nothing
}

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {

chain.doFilter(wrapRequest((HttpServletRequest) request), response);
}

@Override
public void destroy() {
// do nothing
}

private static HttpServletRequestWrapper wrapRequest(HttpServletRequest request) {
return new HttpServletRequestWrapper(request) {
@Override
public String getMethod() {
return "GET";
}
};
}
}
< /code>
controller.java
@Controller
@RequestMapping("/home")
public class Controller {

@RequestMapping(value = "/add", method = RequestMethod.GET)
public String add(@ModelAttribute("modelAttribute") AddForm addForm, Errors errors, Model model, RedirectAttributes redirectAttributes) {
...doStuff();

return "home/add";
}

@RequestMapping(method = RequestMethod.POST)
public String create(@ModelAttribute("modelAttribute") @Valid AddForm addForm, Errors errors, Model model, RedirectAttributes redirectAttributes, javax.servlet.http.HttpServletRequest request) {
...doStuff();
}

@RequestMapping(value = "/{key}/edit", method = RequestMethod.GET)
public String edit(ModelMap model, @PathVariable String key) {
...doStuff();

return "home/edit";
}

@RequestMapping(method = RequestMethod.PATCH)
public String update(@ModelAttribute("modelAttribute") @Valid AddForm addForm, Errors errors, Model model, RedirectAttributes redirectAttributes, HttpServletRequest request) throws ObjectNotFoundException {
...doStuff();
}
}
< /code>
add.jsp
















< /code>
edit.jsp























Подробнее здесь: https://stackoverflow.com/questions/795 ... -spring-bo
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Spring Boot Web App JPA DataSource удален - нет org.springframework.boot.web.servlet.server.servletwebserverfactory Bean
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Spring Boot Web App JPA DataSource удален - нет org.springframework.boot.web.servlet.server.servletwebserverfactory Bean
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • WebClientRequestException при Wiremocking Spring Boot Service Post Post Post
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • WebClientRequestException при Wiremocking Spring Boot Service Post Post Post
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Веб-сервер Python неправильно обрабатывает запросы POST
    Гость » » в форуме Php
    0 Ответы
    66 Просмотры
    Последнее сообщение Гость

Вернуться в «JAVA»