ฉันมีวิธีการที่มีคำอธิบายประกอบดังต่อไปนี้:
/**
* Provide a list of all accounts.
*/
// TODO 02: Complete this method. Add annotations to respond
// to GET /accounts and return a List<Account> to be converted.
// Save your work and restart the server. You should get JSON results when accessing
// http://localhost:8080/rest-ws/app/accounts
@RequestMapping(value="/orders", method=RequestMethod.GET)
public @ResponseBody List<Account> accountSummary() {
return accountManager.getAllAccounts();
}
ดังนั้นฉันจึงรู้ว่าโดยคำอธิบายประกอบนี้:
@RequestMapping(value="/orders", method=RequestMethod.GET)
วิธีการจับนี้GETร้องขอ HTTP ที่เกิดขึ้นกับทรัพยากรที่แสดงโดยที่ URL / สั่งซื้อ
วิธีการนี้เรียกว่าวัตถุ DAO ที่ส่งกลับรายการ
โดยที่บัญชีเป็นตัวแทนของผู้ใช้ในระบบและมีบางฟิลด์ที่แสดงถึงผู้ใช้รายนี้เช่น:
public class Account {
@Id
@Column(name = "ID")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long entityId;
@Column(name = "NUMBER")
private String number;
@Column(name = "NAME")
private String name;
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name = "ACCOUNT_ID")
private Set<Beneficiary> beneficiaries = new HashSet<Beneficiary>();
...............................
...............................
...............................
}
คำถามของฉันคือวิธีตรงไม่@ResponseBody
ทำงานคำอธิบายประกอบ?
มันตั้งอยู่ก่อนList<Account>
วัตถุที่ส่งคืนดังนั้นฉันคิดว่ามันหมายถึงรายการนี้ เอกสารประกอบหลักสูตรระบุว่าคำอธิบายประกอบนี้ทำหน้าที่เพื่อ:
ตรวจสอบให้แน่ใจว่าผลลัพธ์จะถูกเขียนไปยังการตอบสนอง HTTP โดย HTTP Message Converter (แทนที่จะเป็น MVC View)
และอ่านเอกสารอย่างเป็นทางการของ Spring: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/bind/annotation/ResponseBody.html
ดูเหมือนว่าจะใช้List<Account>
วัตถุและใส่ลงในไฟล์Http Response
. ถูกต้องหรือฉันเข้าใจผิด?
เขียนไว้ในความคิดเห็นของaccountSummary()
วิธีการก่อนหน้านี้มี:
คุณควรได้รับผลลัพธ์ JSON เมื่อเข้าถึง http: // localhost: 8080 / rest-ws / app / accounts
แล้วนี่หมายความว่าอย่างไร? หมายความว่าList<Account>
วัตถุที่ส่งคืนโดยaccountSummary()
วิธีนี้จะถูกแปลงเป็นJSON
รูปแบบโดยอัตโนมัติจากนั้นใส่ลงในไฟล์Http Response
? หรืออะไร?
ถ้าการยืนยันนี้เป็นจริงจะมีการระบุไว้ที่ใดว่าวัตถุจะถูกแปลงเป็นJSON
รูปแบบโดยอัตโนมัติ รูปแบบมาตรฐานถูกนำมาใช้เมื่อใช้@ResponseBody
คำอธิบายประกอบหรือมีการระบุไว้ที่อื่นหรือไม่