http://www.smartjava.org/content/first-steps-rest-spray-and-scala'daki eğiticiden sonra, bazı beklenmedik hata iletileri var. Ne oluyor? Kapalı JsonWriter'i implicit val personFormat = jsonFormat3(Person)
numaralı çağrı ile tanımlamış mıyım? Eğer zaten kapsamındaki diğer bir kişi sınıf var anlamına gelir senin Person
sınıf, beyan önce protokol tanımlarsanız gibi oturumun ardındanBir vaka sınıfı için JsonWriter veya JsonFormat tipi sınıfı bulamıyor
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
^
çalıştı birçok farklı bu da dahil olmak üzere ithalat, ancak hata mesajı hala var. Soruyu düzenledim. – mirelon
Yeni oturum açıp Protokolü bildirmeden önce "Kişi" sınıfını bildirirseniz, oturum başarılı olur ("Kişi (name =" a ", fistName =" b ", age = 10) .toJson' döndürür). Bu yüzden, formatınızı bildirmeden önce “Person” sınıfınızı beyan ettiğinizi varsayıyorum. – edi
Haklısınız! Farklı sınıfla çalıştım ve işe yarıyor! Cevabı ekle ve kabul edeceğim ... – mirelon