使用嵌套对象发送带有curl的Post请求

时间:2019-06-12 19:42:06

标签: node.js curl mongoose

我有一个猫鼬模式,在其中必须执行POST PUT DELETE请求。但是,当我发送curl命令时,服务器将输出以下

ConvertBack

它告诉我通过curl命令没有正确发送数据。所以我想知道如何用嵌套的json对象正确编写curl

我的猫鼬模式如下:

{ ValidationError: data validation failed: categories.url_name: Path `categories.url_name` is required., categories.name: Path `categories.name` is required.

我的curl命令就是这个

var DataSchema = new mongoose.Schema({
categories: {
    name :  {
        type : String,
        required : true
    },
    url_name : {
        type : String,
        required : true
    }
  }

})

json是否有问题,或者它是我创建的架构?

2 个答案:

答案 0 :(得分:0)

您的curl命令使用双引号引起来。请尝试:

curl -H 'Content-Type: application/json' -X POST -d '{"categories": { "name" :1, "url_name" : "example" }}' http://localhost:4200/add

答案 1 :(得分:0)

您的卷曲请求格式不正确。试试:

@RestController
//@RequestMapping(value = "/jobs", params = "autocomplete")
public class AutoCompleteController {

    private AutoCompleteService autoCompleteService;

    private EntityManager em;

    public AutoCompleteController(AutoCompleteService autoCompleteService, EntityManager em) {

        this.autoCompleteService = autoCompleteService;
        this.em = em;
    }


    @GetMapping(value = "/jobs", produces = "application/json")
    public List<AutoComplete> getSalary(
            @RequestParam(name= "autocomplete", required = true) String autocomplete,
            @PathVariable("jobClassCd") String jobClassCd) {

        return autoCompleteService.retrieveSalary(jobClassCd);

    }





    public void getAllSalaries(HttpServletResponse res, HttpServletRequest req) {

        Stream<AutoComplete> stream = autoCompleteService.retrieveAllSalaries();
        DataStreamUtility.streamObjects(stream, res, em);



    }


}