在Web開發(fā)中,我們經(jīng)常需要傳遞數(shù)據(jù),而JSON是一種非常常用的數(shù)據(jù)格式。如何在Controller中接收JSON格式的參數(shù)呢?下面將介紹一些常見的方法。
一、使用@RequestBody注解
public ResponseEntity<String> updateData(@RequestBody JSONObject jsonData) { String updateResult = ""; try { // 解析JSON數(shù)據(jù) String id = jsonData.getString("id"); int age = jsonData.getInteger("age"); String name = jsonData.getString("name"); // 更新數(shù)據(jù) updateResult = userService.updateData(id, age, name); } catch (Exception e) { return new ResponseEntity<>(HttpStatus.BAD_REQUEST); } return new ResponseEntity<>(updateResult, HttpStatus.OK); }
二、使用@RequestBody注解和自定義Bean
public ResponseEntity<String> updateData(@RequestBody UserInfo userInfo) { String updateResult = ""; try { // 更新數(shù)據(jù) updateResult = userService.updateData(userInfo.getId(), userInfo.getAge(), userInfo.getName()); } catch (Exception e) { return new ResponseEntity<>(HttpStatus.BAD_REQUEST); } return new ResponseEntity<>(updateResult, HttpStatus.OK); } public class UserInfo { private String id; private int age; private String name; // ... getters and setters ... }
三、使用@RequestParam注解
public ResponseEntity<String> updateData(@RequestParam("id") String id, @RequestParam("age") int age, @RequestParam("name") String name) { String updateResult = ""; try { // 更新數(shù)據(jù) updateResult = userService.updateData(id, age, name); } catch (Exception e) { return new ResponseEntity<>(HttpStatus.BAD_REQUEST); } return new ResponseEntity<>(updateResult, HttpStatus.OK); }
以上就是常見的Controller接收JSON格式參數(shù)的方法,選擇合適的方式,可以讓代碼更加簡潔、易讀。