Spring 如何在Postman中使用API发布数据
我正在使用SpringBoot创建一个API。基本上,此API执行CRUD操作。我还创建了一个使用我自己的API的客户端。首先,我使用Postman发布数据,它成功地将数据插入数据库,并给出了200个OK代码。然后我创建了网页,并使用API作为表单操作。然后我尝试使用API插入数据。但是,我不能。然后我从方法中删除了@RequestBody,之后我就可以插入数据了。但问题是现在我不能用邮递员插入数据。当我尝试使用Postman插入数据时,它给出了200 OK,但没有向数据库插入任何内容 我怎样才能解决这个问题Spring 如何在Postman中使用API发布数据,spring,spring-boot,Spring,Spring Boot,我正在使用SpringBoot创建一个API。基本上,此API执行CRUD操作。我还创建了一个使用我自己的API的客户端。首先,我使用Postman发布数据,它成功地将数据插入数据库,并给出了200个OK代码。然后我创建了网页,并使用API作为表单操作。然后我尝试使用API插入数据。但是,我不能。然后我从方法中删除了@RequestBody,之后我就可以插入数据了。但问题是现在我不能用邮递员插入数据。当我尝试使用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>
项目名称
开发商名称
在一个@Configuration
类或@EnableAutoConfiguration
类中创建CommonRequestLoggingFilter
的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.commonRequestLoggingFilter设置要调试的日志级别=
调试
一切就绪!现在从网络/邮递员处呼叫您的端点,检查是否找到丢失的部分。您需要使用
@RequestBody
:
@RequestMapping(method=RequestMethod.POST, value="/tasks")
public ImModel createNote(@RequestBody ImModel note) {
return TaskRepository.save(note);
}
使用下面编写的代码。您需要在InModel注释之前添加@RequestBody
@RequestMapping(method=RequestMethod.POST, value="/tasks")
public ImModel createNote(@RequestBody ImModel note) {
return TaskRepository.save(note);
}
当您从邮递员处发出POST请求时,是否遇到API端点?如果是,是否可以在调试模式下检查当端点被命中时,Notes变量中有什么内容?如果它为null,那么您的请求后的payloadI就有问题了我不明白您说的话..我对API开发和spring boot非常陌生..您知道如何调试Java代码吗?基本上是如何设置断点和检查run.Nop.上的当前变量值。。但是,首先我使用Postman发布数据,它成功地将数据插入数据库,并给出了200个OK代码。但是,我仍然不能使用邮递员发布数据。我如何解决这个问题?你在日志中看到的是什么?另外,我要求您尝试使用
Content-Type
as、x-www-form-urlencoded
或form-data
而不是Postman中的application/json
发布数据。首先,我使用Postman发布数据,它成功地将数据插入数据库,并给我200 OK代码。然后我创建了网页,并使用API作为表单操作。然后我尝试使用API插入数据。但是,我不能。然后我从方法中删除了@RequestBody,之后我就可以插入数据了。但问题是现在我不能用邮递员插入数据。当我尝试使用Postman插入数据时,它给出了200 OK,但没有向数据库中插入任何内容。首先,我使用Postman发布数据,它成功地向数据库中插入数据,并给出了200 OK代码。然后我创建了网页,并使用API作为表单操作。然后我尝试使用API插入数据。但是,我不能。然后我从方法中删除了@RequestBody,之后我就可以插入数据了。但问题是现在我不能用邮递员插入数据。当我尝试使用Postman插入数据时,它给出了200 OK,但没有向数据库插入任何内容。