Questões de Concurso Público IF Sul Rio-Grandense 2025 para Professor EBTT - Área 13, 17, 20, 25, 42: Informação e Comunicação I

Foram encontradas 2 questões

Q3208911 Redes de Computadores
Em uma aplicação Node.js com o framework Express, as rotas HTTP (POST, DELETE, GET, e PUT) são usadas para realizar diferentes operações com recursos. Seguindo as boas práticas de APIs REST, esses verbos representam ações coerentes com o padrão CRUD (Create, Read, Update, Delete), assegurando que a API siga padrões de design que promovem consistência, escalabilidade e legibilidade do código.
Agora, considere o seguinte trecho de código, onde um CRUD básico para produtos está implementado. 

var express = require('express'); var app = express();

app.get('/products', (req, res) => {  // implementação da rota });

app.post('/products', (req, res) => {  // implementação da rota });

app.put('/products/:id', (req, res) => {  // implementação da rota });

app.delete('/products/:id', (req, res) => {  // implementação da rota });

app.listen(3000);


Com base no comportamento esperado das rotas HTTP em um CRUD para produtos, qual das afirmativas está INCORRETA?

Alternativas
Q3208915 Redes de Computadores
Uma aplicação web foi desenvolvida utilizando Node.js com o framework Express. O objetivo é implementar um middleware simples de autenticação para proteger a rota /login. Este middleware verifica o cabeçalho Authorization das requisições HTTP, validando um token pré-definido. Além disso, o código inclui o tratamento de erros de autenticação e uma resposta padrão para rotas inexistentes.
Considere o seguinte trecho de código que implementa essa funcionalidade.

var express = require('express'); var app = express();

const auth = (req, res, next) => {  try {  const token = req.headers.authorization.split(' ')[1];  if (token !== 'XXX') {  throw new Error('ERROR!');

 }  next();  }  catch (err) {  res.status(401).send({ message: 'Unauthorized' });  } } app.use('/login', auth); app.post('/login', (req, res) => {  res.send('Hello World'); });
app.use((req, res) => {  res.status(404).send({ message: 'Not Found' }); });

app.listen(3000);

Com base no comportamento deste código, considere as seguintes requisições HTTP feitas ao servidor:

I. POST /login/auth HTTP/1.1  Authorization: Bearer XXX

II. GET /login HTTP/1.1  Authorization: XXX

III. POST /login HTTP/1.1  Authorization: Bearer XXX

IV. POST /login HTTP/1.1  Authorization: XXX


Dado o código apresentado, qual é o status de resposta esperado para cada uma das requisições listadas acima?
Alternativas
Respostas
1: D
2: D