繁体   English   中英

我在springboot的帖子正文中发送请求它不起作用

[英]I send request in post body in springboot it is not working

我正在尝试使用 spring 引导在 RESTAPI 中发布正文,但我不能。 我受苦了很长时间直到现在我也找不到问题为什么我不知道我犯了什么错误请帮助我。

宝卓class

人.java

package com.thila.family.test;

import javax.annotation.Generated;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Person {
    
    @Id
    private int id;
    private String familyName;
    private String familyMembers;
    private long contactNo;
    public Person() {
            
        }
     
     public Person(int id,String familyName, String familyMembers,long contactNo) {
        super();
        this.familyName = familyName;
        this.familyMembers = familyMembers;
        this.contactNo = contactNo;
    }

    //getters setters
}

PersonService.java

package com.thila.family.test;

import java.util.ArrayList;
import java.util.List;

import org.springframework.stereotype.Service;

@Service
public class PersonService {
  
    private List<Person> persons=new ArrayList<>();
    public void addPerson(Person person) {
        persons.add(person);
    }

}

PersonController.java

@RestController
public class PersonController {

    @Autowired
    private PersonService personService;

    @RequestMapping(method=RequestMethod.POST,value="/fam") 
    public void addPerson(@RequestBody Person person){
        personService.addPerson(person);        
    }
}

我对正文的 JSON 请求

{
   "id":"1",
    "familyName": "panchala",
    "familyMembers":"5",
    "contactNo":"234567"
    
}

我有一个错误

{
    "timestamp": "2021-01-02T04:39:55.307+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "",
    "path": "/fam"
}
```
please help me I don't know why I got this error

在 PersonController.java 中,在@RestController注释下方添加以下注释:

@RequestMapping(value = "/person", produces = MediaType.APPLICATION_JSON_VALUE)

仅当存在此问题时,controller 才会得到解析并且路径到达您尝试调用的特定 controller 方法。

现在您的 URL 可能如下所示: localhost:8080/person/fam

在 Controller class

@RequestMapping(value = "/fam", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public void addPerson(@RequestBody Person person){
{
....
}

只是一个建议,返回具有正确响应状态的响应也很好

@RequestMapping(value = "/fam", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity addPerson(@RequestBody Person person){
{
......
 return new ResponseEntity<>(HttpStatus.OK); 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM