class EdgeExistenceAPI extends TraverserAPI {

    private static final Logger LOG = Log.logger(EdgeExistenceAPI.class);
    private static final String DEFAULT_EMPTY = "";

    @GET
    @Timed
    @Produces(APPLICATION_JSON_WITH_CHARSET)
    @Operation(summary = "get edges from 'source' to 'target' vertex")
    public String get(@Context GraphManager manager,
                      @PathParam("graph") String graph,
                      @QueryParam("source") String source,
                      @QueryParam("target") String target,
                      @QueryParam("label") String edgeLabel,
                      @QueryParam("sort_values")
                      @DefaultValue(DEFAULT_EMPTY) String sortValues,
                      @QueryParam("limit")
                      @DefaultValue(DEFAULT_LIMIT) long limit) {<FILL_FUNCTION_BODY>}
}

        LOG.debug("Graph [{}] get edgeExistence with " +
                  "source '{}', target '{}', edgeLabel '{}', sortValue '{}', limit '{}'",
                  graph, source, target, edgeLabel, sortValues, limit);

        E.checkArgumentNotNull(source, "The source can't be null");
        E.checkArgumentNotNull(target, "The target can't be null");

        Id sourceId = VertexAPI.checkAndParseVertexId(source);
        Id targetId = VertexAPI.checkAndParseVertexId(target);
        HugeGraph hugegraph = graph(manager, graph);
        EdgeExistenceTraverser traverser = new EdgeExistenceTraverser(hugegraph);
        Iterator<Edge> edges = traverser.queryEdgeExistence(sourceId, targetId, edgeLabel,
                                                            sortValues, limit);

        return manager.serializer(hugegraph).writeEdges(edges, false);
    
<methods>public non-sealed void <init>() <variables>