Làm theo hướng dẫn từ http://www.smartjava.org/content/first-steps-rest-spray-and-scala, có một số thông báo lỗi không mong muốn. Chuyện gì vậy? Tôi đã xác định JsonWriter tiềm ẩn bởi cuộc gọi implicit val personFormat = jsonFormat3(Person)
chưa?Không thể tìm thấy loại lớp JsonWriter hoặc JsonFormat cho trường hợp lớp
scala> import spray.json.DefaultJsonProtocol
import spray.json.DefaultJsonProtocol
scala> object MyJsonProtocol extends DefaultJsonProtocol {
implicit val personFormat = jsonFormat3(Person)
}
| | defined object MyJsonProtocol
scala> case class Person(name: String, fistName: String, age: Long)
defined class Person
scala> import spray.json._
import spray.json._
scala> import MyJsonProtocol._
import MyJsonProtocol._
scala> Person(name="a", fistName="b", age = 10).toJson
<console>:45: error: Cannot find JsonWriter or JsonFormat type class for Person
Person(name="a", fistName="b", age = 10).toJson
^
thử nhiều cách nhập khác nhau, bao gồm các, nhưng được thông báo lỗi vẫn còn đó. Tôi đã chỉnh sửa câu hỏi. – mirelon
Nếu tôi làm phiên mới và khai báo lớp 'Person' trước khi tôi khai báo giao thức, phiên thành công (nó trả về' Person (name = "a", fistName = "b", age = 10) .toJson'). Vì vậy, tôi giả định, rằng bạn thực sự khai báo lớp 'Person' của bạn trước khi bạn khai báo định dạng của bạn? – edi
Bạn nói đúng! Tôi đã thử với các lớp khác nhau và nó hoạt động! Thêm nó vào câu trả lời và tôi sẽ chấp nhận nó ... – mirelon