Formatos de respuesta
La API REST de Targetprocess admite formatos de respuesta XML y JSON. El formato predeterminado es XML.
Hay dos opciones para configurar el formato de respuesta:
Defina el formato sobre la marcha mediante el parámetro URL format :
/api/v1/UserStories/35429?format=json
/api/v1/UserStories/35429?format=xml
Utilice HTTP el encabezado Accept para especificar el formato de respuesta. Por ejemplo, para recuperar la respuesta en JSON:
GET /api/v1/UserStories/ HTTP/1.1
Host: localhost
Accept: application/json
XML
Todos los campos, excepto Id y Nombre, se devuelven como elementos xml. Los campos Id y Nombre se devuelven como atributos. Si un campo es nulo, el elemento xml correspondiente tendrá el atributo «nil» establecido en «true». El formato XML utiliza la norma ISO 8601 para el formato de fecha.<UserStory Id="376" Name="CRUD operations">
<Description nil="true" />
<CreateDate>2011-09-01T18:20:35</CreateDate>
</UserStory>
JSON
El formato JSON utiliza el formato"/Date(1198908717056+0300)/"
{
"Id": 376,
"Name": "CRUD operations",
"Description": null,
"CreateDate": "/Date(1314890435000+0300)/"
}
JSONP
La API REST de Targetprocess es compatible con el patrón JSONP. Para devolver el JSON rellenado con tu callback, utiliza elcallback=functionName parámetro de consulta./api/v1/UserStories/35429?format=json&callback=parseJson
parseJson({
"Id": 376,
"Name": "CRUD operations",
"Description": null,
"CreateDate": "/Date(1314890435000+0300)/"
});Aquí hay un ejemplo con la ayuda de jQuery. Extraemos todos los proyectos y mostramos sus nombres.$.getJSON("/api/v1/projects?&format=json&callback=?", buildProjects);
function buildProjects(data) {
var projectNames = "";
for (i = 0; i < data.Projects.Items.length; i++) {
if (data.Projects.Items[i]) {
projectNames += data.Projects.Items[i].Name;
}
}
alert(projectNames);
}