jira rest ожидает как минимум 1 bean-компонент, который считается кандидатом autowire для этой зависимости - PullRequest
0 голосов
/ 04 мая 2020

Я разрабатываю плагин отдыха для jira atlassian, и у меня такая проблема. каждый раз, когда я хочу, чтобы мои apis появлялись, мне нужно добавить пустой конструктор к моему новому api в этом формате

import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

@Path("/import-issues")
public class ImportIssuesRestResource {
    private ImportIssuesAction importIssuesAction;

    public ImportIssuesRestResource() {
    }

    public ImportIssuesRestResource(final ImportIssuesAction importIssuesAction) {
        this.importIssuesAction = importIssuesAction;
    }

    @GET
    @Path("issueNumber")
    @Produces(MediaType.APPLICATION_JSON)
    public Response getFields() {
        return Response.ok().entity(importIssuesAction.getIssueNumber()).build();
    }
}

Однако мне нужно что-то вроде

@Scanned
@Path("/import-issues")
public class ImportIssuesRestResource{
    private ImportIssuesAction importIssuesAction;

    @Inject
    public ImportIssuesRestResource(final ImportIssuesAction importIssuesAction) {
        this.importIssuesAction = importIssuesAction;
    }

    @GET
    @Path("issueNumber")
    @Produces(MediaType.APPLICATION_JSON)
    public Response getFields() {
        return Response.ok().entity(importIssuesAction.getIssueNumber()).build();
    }
}

с инжектированный конструктор и @Scanned. Я получаю эту ошибку, когда использую вторую версию кода.

 Error creating bean with name 'rest.ImportIssuesRestResource': Unsatisfied dependency expressed through constructor argument with index 0 of type [action.ImportIssuesAction] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}

Другие API имеют похожий встроенный конструктор и используют аннотации @Scanned или @Named. Мне нужен мой API в режиме реального времени получения информации из класса. Однако в настоящее время я получаю исключение NullPointerException в оставшейся части моего getlissueNumber getIssueNumber. Я использую @Named в классе ImportIssuesAction.

1 Ответ

0 голосов
/ 05 мая 2020

Похоже, что ImportIssuesAction не было объявлено как компонентный импорт в вашем подключаемом модуле. xml https://community.atlassian.com/t5/Answers-Developer-Questions/Components-injection-with-Spring-Scanner/qaq-p/553801

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...