我对前端开发非常陌生。我有一个简单的web应用程序,您可以在其中提交表单,并且我希望能够在REST端点中获取表单数据。我正在使用包含Spring MVC的Spring引导。使用Spring获取表单数据时遇到困难
的HTML:
<div class="modal-header modal-header-info">
<button type="button" class="close" data-dismiss="modal"
aria-hidden="true">×</button>
<h4 class="modal-title">Add Entity</h4>
</div>
<div class="modal-body">
<form role="form" method="post" action="/createEntity">
<div class="form-group">
<label for="name">Name:</label> <input type="text"
class="form-control" id="name">
</div>
<button type="submit" class="btn btn-info">Submit</button>
</form>
</div>
Java的:
@RequestMapping(value = "/createEntity", method = RequestMethod.POST)
public void createEntity(@RequestBody String payload) {
System.out.println("Hello world!");
System.out.println(payload);
}
我得到这个错误回:
Failed to read HTTP message:
org.springframework.http.converter.HttpMessageNotReadableException:
Required request body is missing: public void main.java.info.spring.data.neo4j.controllers.CreateEntityController.createEntity(java.lang.String)
我如何从表单中的 “名” 的价值?如果我取出@RequestBody部分,则会打印出“hello world”属性。
编辑:每个请求我的配置:
@EnableTransactionManagement
@Import(RepositoryRestMvcConfiguration.class)
@EnableScheduling
@EnableAutoConfiguration
@ComponentScan(basePackages = { "main.java.info.spring.data.neo4j.services",
"main.java.info.spring.data.neo4j.controllers" })
@Configuration
@EnableNeo4jRepositories(basePackages = "main.java.info.spring.data.neo4j.repositories")
public class MyNeo4jConfiguration extends Neo4jConfiguration {
public static final String URL = System.getenv("NEO4J_URL") != null ? System.getenv("NEO4J_URL")
: "http://localhost:7474";
@Override
public Neo4jServer neo4jServer() {
return new RemoteServer(URL, "neo4j", "LOL my pass");
}
@Override
public SessionFactory getSessionFactory() {
return new SessionFactory("main.java.info.spring.data.neo4j.domain");
}
}
你能展示你的配置吗? –
在@ manish的回答中查看**问题1 **。这真的可能是这个问题,因为没有名字的输入可以被认为是不正确的语法。 –