package br.com.alura.gerenciador.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
import com.thoughtworks.xstream.XStream;
import br.com.alura.gerenciador.modelo.Banco;
import br.com.alura.gerenciador.modelo.Empresa;
@WebServlet("/empresas")
public class EmpresasService extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Empresa> empresas = new Banco().getEmpresas();
String cabecalho = request.getHeader("Accept");
System.out.println(cabecalho);
if (cabecalho.contains("xml")) {
XStream xStream = new XStream();
// xStream.alias("empresa", Empresa.class);
String xml = xStream.toXML(empresas);
System.out.println(xml);
response.setContentType("application/xml");
response.getWriter().print(xml);
}
if (cabecalho.contains("json")) {
String json = new Gson().toJson(empresas);
response.setContentType("application/json");
response.getWriter().print(json);
} else {
response.getWriter().print("{'message' : 'no content'}");
}
}
}
Assim está meu código, porem no console consigo renderizar o XML mas no browser ele apresenta um erro que não consigo identificar, segue a imagem do erro: https://prnt.sc/pumdh9
Saída no console: https://prnt.sc/pumdo0