如何在Postman中使用API​​发布数据

时间:2018-05-01 01:44:01

标签: spring spring-boot

我正在使用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>

3 个答案:

答案 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);
    }