Рисование точки на изображении с помощью jQuery

У меня есть следующий код, чтобы отслеживать, где пользователь нажимает на изображение:

 

    

Я бы хотел сделать, чтобы, когда пользователь нажимает на изображение, я хочу нарисовать точку на X, Y координаты щелчка. открытый класс Circle реализует Shape {...} @Path ("/ api / shape") public ...

У меня есть класс Resource, который пытается вернуть тип интерфейса, скажем "Shape":

public interface Shape {...}

@XmlRootElement
public class Circle implements Shape {...}

@Path("/api/shapes")
public class ShapeResource {
    @GET
    @Path("/{shapeId}")
    public Shape get(@PathParam("shapeId") String shapeId) {
        ....
        return new Circle();
    }
}

Экспериментируя с вышеупомянутым, я вижу, что сервер возвращает XML следующим образом:



...

Итак пока все хорошо. Проблема в том, что клиент не знает, как это разобрать. Я получаю:

com.sun.jersey.api.client.ClientHandlerException: A message body for Java type, interface Shape, and MIME media type, application/xml, was not found

Учитывая WebResource, и запрос типа сущности Shape.class вызывает исключение.

Кажется, сервер делает правильные вещи. Я часами бился над тем, как заставить клиента десериализовать этот класс. Я даже попытался обернуть интерфейс, который я действительно пытаюсь получить, в оболочку, как описано здесь: https://jaxb.dev.java.net/guide/Mapping_interfaces.html . Это тоже не сработало.

Мой клиентский код выглядит следующим образом:

    ClientResponse response = get(wr, ClientResponse.class); // wr == WebResource
    try {
        return response.getEntity(Shape.class); // <-- FAIL       
    } catch (Exception e) {
        e.printStackTrace();
        // com.sun.jersey.api.client.ClientHandlerException: A message body reader for Java type, interface Shape, and MIME media type, application/xml, was not found
    }
    try {
        return response.getEntity(Circle.class); // <-- WIN, but hacky and forces me to try every concrete type
    } catch (Exception e) {}
    return null;

Любое понимание или руководство приветствуются. Заранее спасибо.

6
задан bdoughan 12 October 2010 в 16:46
поделиться