Как заставить экспресс-узел дать ответ на основе ввода для того же URL - PullRequest
0 голосов
/ 07 октября 2019

Мне нужно, чтобы одна и та же конечная точка выдавала разные ответы в зависимости от получаемых данных. Как мне издеваться, используя экспресс?

Это пример, который у меня есть

 var express = require('express')

 var app = express() // the main app

 process.env.PORT = 3301

 let users = {
 1: {
    id: '1',
    username: 'Robin Wieruch',
 },
 2: {
    id: '2',
    username: 'Dave Davids',
 },
};
app.get('/users', (req, res) => {
   return res.send(Object.values(users));
});  

Теперь это всегда отвечает списком пользователей, когда я вызываю его с localhost: 3301. Как мне заставить его принять ответ ввода и выдать ответ, основанный на вводе для того же самого вызова API (то есть изменить ответ, основанный на вводе). Входными данными могут быть входные данные в формате json или xml, а выходные данные должны быть изменены.

пример входного json:

{
  1: {
    id: '1',
    username: 'Robin Wieruch',
  },
  2: {
    id: '2',
    username: 'Dave Davids',
  },
}; 

выходной отклик: 123

входной xml:

 <XML FileVersion="09/30/2019"><ActionRequest method="select" 
 entityschema="SYSADM" entity="TEST" entitytype="table"><Field 
 Name="USER_ID" Value="" /><wheres><Field field="USER_ID" 
 Value="239023 where <Field field="USER_ID" Value="237915|510356" 
 condition="IN" /></wheres></ActionRequest></XML>

ВЫХОД XML:

API RESPONSE <XML>
  <exceptions />
    <rows />
     <results>
      <PAYABLE_DIST />
      <PAYABLE>
      <DataRow>
         <USER_ID>237915</USER_ID>
         <DATE>2019-3-17</DATE>
      </DataRow>
      <DataRow>
         <USER_ID>237950</USER_ID>
         <DATE>dynamic date field</DATE>
       </DataRow>

    ...

Новичок, чтобы выразить. ТИА

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...