我正在使用spring boot创建一个API。基本上,此API执行CRUD操作。我还创建了一个使用自己的API的客户端。起初我使用Postman POST数据,它成功地将数据插入数据库并给我200 OK代码。然后我创建了网页,我使用我的API作为表单操作。然后我尝试使用API插入数据。但是,不可能。然后我从方法中删除了@RequestBody,之后我就能插入数据了。但事情是现在我无法使用Postman插入数据。当我尝试使用Postman插入数据时,它给了我200 OK,但没有任何插入数据库。
我该如何解决这个问题?
package com.kisalka.pacrestapi.controller;
import java.util.List;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import com.kisalka.pacrestapi.repository.ImRepository;
import com.kisalka.pacrestapi.model.ImModel;
@RestController
@RequestMapping("/api")
public class ImController {
@Autowired
private ImRepository TaskRepository;
@RequestMapping(method=RequestMethod.POST, value="/tasks")
public ImModel createNote(ImModel note) {
return TaskRepository.save(note);
}
}
我的网页。
<form class="form-horizontal" method="POST" action="">
<div class="form-group">
<label class="control-label col-md-3">Project Name</label>
<div class="col-md-7">
<input type="text" class="form-control" name="pname" id="txtPname"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">Developer Name</label>
<div class="col-md-7">
<input type="text" class="form-control" name="devname" id="txtDevname"/>
</div>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Save" id="btnRegister"/>
</div>
</form>
答案 0 :(得分:0)
在您的@Configuration
个班级或@EnableAutoConfiguration
班级中创建CommonsRequestLoggingFilter
的bean,粘贴代码。这将记录每个传入的请求
@Bean
public CommonsRequestLoggingFilter logFilter() {
CommonsRequestLoggingFilter filter
= new CommonsRequestLoggingFilter();
filter.setIncludeQueryString(true);
filter.setIncludePayload(true);
filter.setMaxPayloadLength(10000);
filter.setIncludeHeaders(false);
filter.setAfterMessagePrefix("REQUEST DATA : ");
return filter;
}
使用application.properties
logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=
DEBUG
文件集中将日志记录级别设置为DEBUG
全套!现在从WEB /邮递员调用您的终端,并检查是否找到了丢失的部分。
答案 1 :(得分:0)
您需要使用@RequestBody
:
@RequestMapping(method=RequestMethod.POST, value="/tasks")
public ImModel createNote(@RequestBody ImModel note) {
return TaskRepository.save(note);
}
答案 2 :(得分:0)
使用下面编写的代码。您需要在ImModel注释
之前添加@RequestBody @RequestMapping(method=RequestMethod.POST, value="/tasks")
public ImModel createNote(@RequestBody ImModel note) {
return TaskRepository.save(note);
}