2015-05-02 4 views
3

Я относительно новичок в разработке API. Я часто сталкиваюсь с разными проблемами и у меня много вопросов. Главный вопрос: «Как реализовать что-то в соответствии с лучшими практиками и шаблонами».
Моя цель состоит не только в том, чтобы писать API и забывать об этом, но и поддерживать и упрощать его использование для других.REST API и статические страницы (лучшее решение)

Теперь у меня есть вопрос о статических страницах и ответ JSON.
На моем сайте у меня есть некоторое количество статических страниц (About Us, Contact Us, Shipping, Payment......), поэтому страницы со статическим контекстом, по существу, являются html и изображениями.

Поэтому мне нужно иметь эти страницы в своем приложении (в данном случае Android Standalone App) как часть приложения, но они не должны быть жестко запрограммированы, а они будут загружены с сайта с использованием API, чтобы они обновлялись.

У меня есть несколько вопросов:

  1. Как URL должен выглядеть, это должно быть какое-то количество постоянных URL (http://supersite.com/api/aboutus,http://supersite.com/api/contactus ...). Или это должно выглядеть как http://supersite.com/api/articles/42?

  2. Как должна выглядеть структура ответа JSON. Проблема здесь в том, что содержание статических страниц совсем другое, например, на странице Contact Us будет такая важная информация: номера телефонов, электронные письма и могут быть независимыми свойствами в ответе JSON. About Us страница есть другой главный части. И таких страниц может быть много. Как сохранить это унифицированное?

  3. Возможно, лучше объединить ответы JSON только в свойствах сервера (краткое описание, полный текст, изображение ...) и отправить сырой текст или даже html и работать на клиенте. Но, похоже, это не очень хорошая идея.

Возможно, есть и другой правильный способ реализации этого. Или он не является частью API вообще и должен быть выполнен по-другому.

Буду благодарен всем, спасибо за помощь заранее.

+2

Это слишком широкий вопрос, чтобы даже начать отвечать, поэтому я голосую, чтобы закрыть. Но вот несколько советов, которые помогут вам начать работу: не стремитесь к совершенству, тем более, что вы новичок. Начните работать над своим проектом с учетом разделения проблем и других принципов SOLID, но опять же, старайтесь не делать это в абсолютах. Отказы в этом процессе будут намного лучше, чем получить его в первый раз.Что касается REST ... да. Корневой URL должен быть маневренным, но фактические вызовы CRUD и GET должны соответствовать конвенции RESTful. –

+0

Благодарим за ответ. Есть ли хорошие статьи или реальные примеры хорошо построенных API? – CROSP

+1

См. Http://apigee.com/about/resources/ebooks/web-api-design – jrc

ответ

2

Я рекомендую следовать проекту REST API. В вашем случае у вас есть только статические страницы. Это означает, что вы могли бы иметь URL-адреса, такие как:

GET /api/pages/{id} 
POST /api/pages 
PUT /api/pages/{id} 

Ваш {id} может быть первичным ключом (INT), guid или уникальной строки. В случае статических веб-страниц я обычно рекомендую использовать SeoUrl (, contact-us)

Когда ваша структура данных является переменной, вы можете создавать пары ключ-значение или список объектов. Это может выглядеть так:

{ 
    "name":"About Us", 
    "id":"about-us", 
    "text":"Some HTML text", 
    "properties":[ 
     { 
     "key":"phone", 
     "value":"72273726", 
     "order":1 
     }, 
     { 
     "key":"email", 
     "value":"[email protected]", 
     "order":2 
     } 
    ] 
} 

Конечно, существует множество способов, и окончательное решение зависит от вас. Попробуйте найти статьи, связанные с «restful api design».

+0

Спасибо за ответ, такой подход может быть возможным решением. – CROSP