请求方法' POST'不支持| SPRING BOOT

时间:2018-02-15 14:38:18

标签: spring spring-mvc spring-boot post

我试图安装一个简单的开始菜单,当我按下提交按钮时,我在POST方法中出现错误。

我的控制器使用post方法调用html中提交的值为"登录"

@Controller
@RequestMapping("usuario")
public class UsuarioControlador {

   @Autowired
    private UsuarioServicio usuarios;

   @RequestMapping(method=RequestMethod.GET )
   public String index(ModelMap modelMap){
       modelMap.put("usuario",new Usuario());
       return "usuario/index";
   }

   //@PostMapping("/login")
   @RequestMapping(value="login",method=RequestMethod.POST)
   public String login(@ModelAttribute("usuario")Usuario usuario,HttpSession session,ModelMap modelMap){

      if(usuarios.findByUserId(usuario.getIdUsuario())!=null){  
          session.setAttribute("informacion", usuario.getInformacion());
          return "usuario/welcome";

      }else{
          modelMap.put("error", "Usuario no valido");
          return "usuario/index";
      }

   }


}

我的index.html提交电话"登录"

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form th:action="@{/usuario/login}" 
        th:objects="${usuario}" method="post">

<table cellpading="2" cellspacing="2">
<tr>
    <td>Usuario</td>
    <td><input type="text" th:field="*{idUsuario}" /></td>
</tr>
<tr>
    <td>&nbsp;</td>
    <td><input type="submit" value="login" /></td>
</tr>

</table>
<br/>
<span th:text="${error}"></span>
</form>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

您必须配置@RequestMapping标记,以匹配表单操作/ usuario / login,其缺少的斜杠符号。 更换 @RequestMapping(&#34; usuario&#34) 同 @RequestMapping(&#34; / usuario&#34)

并替换 @RequestMapping(值=&#34;登录&#34;,方法= RequestMethod.POST) 同 @RequestMapping(值=&#34; /登录&#34;,方法= RequestMethod.POST)