Формат сообщения REST

"jQuery очень популярен, таким образом, он должен иметь определенную степень хорошего кодирования".

можно было бы хотеть надеяться дело обстоит так с jQuery, но к сожалению это не действительно верно. jQuery полезен и популярен, но это не правильно написанная библиотека JavaScript. David Mark недавно отправил уничтожающий критический анализ jQuery в comp.lang.javascript, который исследует большое количество примеров плохого кода, найденного в jQuery:

http://groups.google.com/group/comp.lang.javascript/msg/37cb11852d7ca75c?hl=en&

6
задан Marcus Leon 2 October 2009 в 01:53
поделиться

4 ответа

Это зависит от разработчика службы REST.

Если служба REST является адаптацией существующей HTML-формы, пары значений ключа публикации, как правило, легче начать с.

Когда размещая информацию из JavaScript, обычно проще использовать JSON.

XML используется часто, потому что он прост для понимания людьми, и на каждом языке / платформе есть множество инструментов, которые могут с ним справиться.

1
ответ дан 18 December 2019 в 05:06
поделиться

SOAP является стандартом для веб-служб (я думаю, вы немного запутались между веб-службами и REST) .

Но это действительно зависит от разработчиков.

-7
ответ дан 18 December 2019 в 05:06
поделиться

Я предлагаю использовать самое простое, потому что в этом вся суть REST. Приведенный ниже фрагмент кода показывает, как я пишу сообщение. Я знаю, что вы специально не искали код, но приведенный ниже API (httpClient) отлично работает. Затем вы декодируете его с помощью инструментов, которые мы всегда использовали, кодировщики ( request.getParameter () ). Я считаю, что это то, что отличает REST от SOAP. Не усложняйте! Используйте HTTP!

    public void testHttpClient() {
    PostMethod pMethod = null;
    pMethod = new PostMethod("...url...");
    NameValuePair[] data = {new NameValuePair("activeFlag", "yes"), new NameValuePair("custCode", "B010"), new NameValuePair("comments", "mark is cool")};
    pMethod.setRequestBody(data);
    this.makeCall(pMethod);
}
private String makeCall(HttpMethod method) {
    String response = null;
    HttpClient client = new HttpClient();
    client.getParams().setAuthenticationPreemptive(true);
    client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(this.logon, this.pass));
    method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false));
    method.getParams().setIntParameter(HttpMethodParams.SO_TIMEOUT, 5000);
    try {
        int statusCode = client.executeMethod(method);
        if (statusCode != HttpStatus.SC_OK) {
            System.err.println("Method failed: " + method.getStatusLine());
        }
        String aLine = null;
        StringBuffer sb = new StringBuffer();
        BufferedReader in = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream()));
        while ((aLine = in.readLine()) != null) {
            sb.append(aLine.trim());
            System.out.println(aLine);
        }
        in.close();
        response = sb.toString();
    } catch (HttpException e) {
        System.err.println("Fatal protocol violation: " + e.getMessage());
        e.printStackTrace();
    } catch (IOException e) {
        System.err.println("Fatal transport error: " + e.getMessage());
        e.printStackTrace();
    } finally {
        method.releaseConnection();
    }
    return response;
}
1
ответ дан 18 December 2019 в 05:06
поделиться

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

Обновление Вот соответствующая цитата Роя Филдинга (соавтора стандарта HTTP и человека, который сформулировал REST в своей докторской диссертации). То, как вы проектируете представления, используемые в вашем веб-сервисе, имеет центральное значение:

REST API должен тратить почти все описательных усилий по определению тип (ы) носителя, используемый для представление ресурсов [...]

Обязательно прочтите следующие вопросы и ответы.

4
ответ дан 18 December 2019 в 05:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: