Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 如何在Postman中使用API发布数据_Spring_Spring Boot - Fatal编程技术网

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

Spring 如何在Postman中使用API发布数据,spring,spring-boot,Spring,Spring Boot,我正在使用SpringBoot创建一个API。基本上,此API执行CRUD操作。我还创建了一个使用我自己的API的客户端。首先,我使用Postman发布数据,它成功地将数据插入数据库,并给出了200个OK代码。然后我创建了网页,并使用API作为表单操作。然后我尝试使用API插入数据。但是,我不能。然后我从方法中删除了@RequestBody,之后我就可以插入数据了。但问题是现在我不能用邮递员插入数据。当我尝试使用Postman插入数据时,它给出了200 OK,但没有向数据库插入任何内容 我怎样才

我正在使用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,但没有向数据库插入任何内容。