Должен иметь ответ 404 на запрос GET, но получил 200. RestletJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Должен иметь ответ 404 на запрос GET, но получил 200. Restlet

Сообщение Anonymous »

У меня сервер Restlet, работающий на моем устройстве Android. Это настроено нормально. Теперь я JUNIT тестирую его, и этот конкретный тест не проходит без причины.http://10.17.1.72:8080/contacts?order=A ... 0&offset=1< /code>, что правильно, я получаю 200 ответа, как и ожидалось. Используя расширение почтальона для Chrome, если я нажимаю на http://10.17.1.72:8080/contacts?oooooor ... 0&offset=1 (обратите внимание, что «заказ» неправильно), я получаю 404, как и я. Пока здесь все в порядке. < /P>

Проблема возникает, когда я создаю клиент Restlet, чтобы сделать этот запрос GET < /code> на моем тесте JUNIT, он получает 200 ответ.public void testGoodRequest() // Success, receives a 200 code.
{
// Create the client resource
ClientResource resource = new ClientResource("http://10.17.1.72:8080/contacts?order=A ... 0&offset=1");
Response response = resource.getResponse();

Log.d(TAG, "Good: " + response.getStatus().getCode());

assertTrue(response.getStatus().getCode() == 200);
}
< /code>

adn Этот должен получить 404, но получает 200, Eventho Again That Get -запрос с помощью почтальника Chrome получает 404: < /p>

public void testBadRequestWithOrderMisspelled()
{
// Create the client resource
ClientResource resource = new ClientResource("http://10.17.1.72:8080/contacts?oofdgrd ... 0&offset=1");
Response response = resource.getResponse();

Log.d(TAG, "BadRequestWithOrderMisspelled: " + response.getStatus().getCode());

assertTrue(response.getStatus().getCode() == 404); // Assert fails, receives 200 instead of 404
}
< /code>

И вот мой метод ручки Restlet: < /p>

@Override
public void handle(Request request, Response response) {

//final ContactList contactList = new ContactList(mContext);
String type = request.getMethod().getName();

String order = request.getResourceRef().getQueryAsForm().getFirstValue("order");
String limit = request.getResourceRef().getQueryAsForm().getFirstValue("limit");
String offset = request.getResourceRef().getQueryAsForm().getFirstValue("offset");
String query = request.getResourceRef().getQueryAsForm().getFirstValue("query");

if(!"order".equals(order) || !"limit".equals(limit) || !"offset".equals(offset) || !"query".equals(query))
{
// Show error
response.setStatus(new Status(Status.CLIENT_ERROR_NOT_FOUND, "Badly formatted URL."));
return;
}
(...)
}


Подробнее здесь: https://stackoverflow.com/questions/229 ... 00-restlet
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Org.restlet.jee:org.restlet.ext.servlet Lib не поддерживает пакет и класс jakarta с Java 21
    Anonymous » » в форуме JAVA
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Интеграция Laravel с API Restlet Netsuite
    Anonymous » » в форуме Php
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Интеграция Laravel с API Restlet Netsuite
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Интеграция Laravel с API Restlet Netsuite
    Anonymous » » в форуме Php
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Netsuite "Restlet" ошибки иногда сериализуются как недействительный json
    Anonymous » » в форуме Javascript
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»