spring boot-rest控制器上的Http POST不返回任何内容Springboot
发布时间:2022-05-31 15:48:21 218
相关标签: # json
我想使用in发出一个简单的HTTP POST请求。REST APISpringboot
HTTP GET已经实施并且它们工作正常,我正在关注这个链接,但我被困在POST方法上。
我认为RestController是对的,但我对Springboot使用终端发送的请求有一些疑问。
首先,这是我想Postgres使用方法保存在 db()上的模型POST,它被称为NFT:
@Entity
public class NFT {
public NFT(Long new_user_id) {
this.title=getRandomString();
this.price=0;
this.description="Niente";
this.image="";
this.user_id=new_user_id;
}
public NFT() {
this.title=getRandomString();
this.price=0;
this.description="Niente";
this.image="";
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private Long user_id;
public String title;
public String image;
public float price;
public String description;
}
这个类有2个构造函数,一个使用User_ID
另一个只是一个空的默认构造函数,所以我可以将其设为空post
请求原因ID
将自动生成。
这是我的休息课:
@RestController
@RequestMapping("/restNFT")
public class NFTRestController {
@Autowired
private NFTService service;
//curl GET http://127.0.0.1:8080/restNFT/1 example
@RequestMapping(value="/{nft_id}",method=RequestMethod.GET)
public Optional getNFTbyID(@PathVariable int nft_id) {
return service.getSingleNFTbyId((long) nft_id);
}
//curl GET http://127.0.0.1:8080/restNFT/user/1
@RequestMapping(value="/user/{persona_id}",method=RequestMethod.GET)
public List getAllNFTsFromPerson(@PathVariable int persona_id) {
return service.getAllNFTsFromPerson((long) persona_id);
}
@RequestMapping(value="/nft",method=RequestMethod.POST)
public void saveNFT(@RequestBody NFT nft) {
System.out.println(nft);
service.saveNewNFT(nft);
}
@RequestMapping(value="/manyNFTs",method=RequestMethod.POST)
public void saveAllNFTs(List nfts) {
service.saveAllNFT(nfts);
return ;
}
}
N、 B.:service.saveNewNFT(nft)
只是打电话而已save()
方法CrudRepository
界面
GET
请求工作,因此我认为至少该类的前半部分是正确的,例如在终端上编写:
curl GET http://127.0.0.1:8080/restNFT/1
正确返回:
{"title":"yonwqelnrx","image":"","price":0.0,"description":"Nothing"}
但如果我试着把POST
请求:
curl POST http://127.0.0.1:8080/restNFT/nft -d '{}'
我希望db会以json作为响应,而不是在屏幕上打印任何内容。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报