2017-03-27 1 views
0

에서 HTML 렌더링/EJS로 렌더링해야하는 게시물/API/게시물에서 Json</p> <p>나는이 경로가 mysite.com JSON 형식의 게시물의 목록을 반환 mysite.com/api/posts에 GET 나는 방법과 API를 REST API NodeJs, Express 및 EJS

NodeJS Express로 어떻게 그 효과를 얻을 수 있습니까? 노인 NodeJS 개발자가이를 어떻게 접근합니까? 일부 코드를 던지거나 NodeJS 개발자가 GitHub에서 뭔가를했을 때 도움을 줄 수 있습니까?

내 코드는 다음과 같습니다

routes.js

(...) 

// GET route find all posts 
app.get('/posts', postsController.findAll); 

(...) 

postController.js

(...) 

findAll(req, res, next) { 

    // This is the part that I am not sure, populate 
    // data with the API results 
    let data = app.get('/api/posts', apiPostsControllers.findAll) 

    res.render('index', { 
     page_layout: 'posts', 
     page_title: 'Posts,' 
     data: data 
    }); 
    } 

(...) 

감사

+0

Google은 귀하의 친구입니다! 이것은 좋은 출발점이되어야합니다 : https://scotch.io/tutorials/use-ejs-to-template-your-node-application –

+0

@PaoloMangia 나는 당신이 내가 말한 것을 읽지 않았다고 생각합니다. 미안하지만, 저는 Google과 그 결과를 사용하는 방법을 알고 있습니다. 밀린입니다. 링크를 보내면 바로보기가 렌더링되지만 JSON 결과를 제공하고 API를 제공하고 렌더링하는 것입니다. 나는 2 개의 분리 된 길을 가져야한다고 생각하지만, 어느 것이 가장 좋은 접근인지는 모른다. :( – Matt

답변

0

당신은 당신을 게시해야 많은 ~에 데이터 그 길. 그런 다음 요청 본문에서 POST 데이터를 가져옵니다.이 데이터를 res.render ('path', {data : [POSTdata]})를 사용하여 EJS 템플릿에 보낼 수 있습니다. 그런 다음 EJS 템플릿의 모든 POST 값을 데이터 변수로 가져옵니다. JSON 형식으로 REST API를 노출하면 Angularjs를 사용하는 대체 방법을 사용할 수 있습니다. 그래서 각도 http.get ([RESTUrl])을 사용하여이 데이터를 HTML보기에 바인딩 할 수 있습니다.

관련 문제