0
Я просто не могу понять, что не так в следующем фрагменте кода. Он не выводит поле даты в виде строки. Я googled и обнаружил, что люди делают то же самое, и они получают желаемый результат. Не хватает ли какой-либо дополнительной конфигурации? Пожалуйста помоги.Невозможно реализовать пользовательский JSON-сериализатор с Jackson и Spring Boot
package hello;
import java.io.IOException;
import java.util.Date;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
@RestController
public class HelloController {
@RequestMapping("/test")
public @ResponseBody Client getClient() {
System.out.println("heeeeee");
return new Client();
}
}
class Client {
@JsonSerialize(using = CustomDateSerializer.class)
private Date d = new Date();
@JsonSerialize(using = CustomDateSerializer.class)
public Date getD() {
System.out.println("CP 2");
return d;
}
public void setD(Date d) {
this.d = d;
}
}
class CustomDateSerializer extends JsonSerializer<Date> {
@Override
public void serialize(Date value, JsonGenerator jgen, SerializerProvider provider)
throws IOException, JsonGenerationException {
System.out.println("CP 0");
//SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss 'GMT'ZZZ (z)");
//String format = formatter.format(value);
//jgen.writeString(format);
jgen.writeString("asdfasfdasdfasdf asdlkfja sdfljasd flkasdjf");
}
}
Вам нужно будет зарегистрировать собственный сериализатор с классом сопоставления. Можете ли вы поделиться тем, как вы определили карту? –
Как зарегистрировать пользовательский сериализатор с классом mapper .. как в этом приложении я не использовал явное объявление или инициализацию mapper. – dopeddude
atleast делится тем, как вы определили jackson как поставщика json? поэтому я могу предоставить больше целевого soln. –