Вот один пример, который принимает строку в параметре и имеет значение по умолчанию, если параметр запроса не предусмотрен:
@Path("business/department/")
public interface DepartmentService {
@GET
@Path("/cs/availability/chat")
@Produces(MediaType.APPLICATION_JSON)
boolean getCustomerServiceAvailability(@QueryParam("type") @DefaultValue("chat") String type);
}
и класс реализации может быть все, что реализует свой интерфейс. В этом примере он является государственным EJB
@Stateless
public class DepartmentServiceImpl implements DepartmentService {
@Context
private HttpServletRequest request;
private static final Logger LOGGER = Logger.getLogger(DepartmentServiceImpl.class.getName());
@Override
public boolean getCustomerServiceAvailability(String scheduleType) {
RequestInfo reqInfo = new RequestInfo(request, this.getClass(), "getCustomerServiceAvailability");
boolean available;
try {
available = CallBusinessService(scheduleType);
} catch (Exception e) {
LOGGER.log(Level.SEVERE, e.getLocalizedMessage());
throw new ServiceException();
} finally {
reqInfo.logExecutionTime();
}
}
}
Существует много способов передать значение API. Как часть URL-адреса, как параметр строки запроса, как значение POST, как значение заголовка ... – David
Пожалуйста, напишите код примера –
Не возражаете ли вы ответить или ответить на мой ответ? –